bisecting cause commit starting from d635a69dd4981cc51f90293f5f64268620ed1565 building syzkaller on f213e07ead587b07a84e60c356520bce7277166c testing commit d635a69dd4981cc51f90293f5f64268620ed1565 with gcc (GCC) 8.1.0 kernel signature: e95d12a52dab29787d20f8cfad11da8971923e6bdee5066b72a3397085ca326f all runs: crashed: BUG: unable to handle kernel paging request in j1939_priv_get_by_ndev_locked testing release v5.10 testing commit 2c85ebc57b3e1817b6ce1a6b703928e113a90442 with gcc (GCC) 8.1.0 kernel signature: 8486ed71d5bfacc25ea1c59ea31894ed74515607229f0dd9b075ab0597b638cf all runs: OK # git bisect start d635a69dd4981cc51f90293f5f64268620ed1565 2c85ebc57b3e1817b6ce1a6b703928e113a90442 Bisecting: 2735 revisions left to test after this (roughly 12 steps) [0ca2ce81eb8ee30f3ba8ac7967fef9cfbb44dbdb] Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux testing commit 0ca2ce81eb8ee30f3ba8ac7967fef9cfbb44dbdb with gcc (GCC) 8.1.0 kernel signature: e7baafaa6a147b645002dc22225416ba18a054503f6f61fed7d6e0543fb7e4f1 all runs: OK # git bisect good 0ca2ce81eb8ee30f3ba8ac7967fef9cfbb44dbdb Bisecting: 1288 revisions left to test after this (roughly 11 steps) [846c3c9cfe8a74021b246bc77a848507be225719] Merge tag 'wireless-drivers-next-2020-12-03' of git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next testing commit 846c3c9cfe8a74021b246bc77a848507be225719 with gcc (GCC) 8.1.0 kernel signature: ab03b70eaae22e072753d2909ab67eca38ffaa3b8a2d04f5eae9f750434f4fa3 all runs: crashed: BUG: unable to handle kernel paging request in j1939_priv_get_by_ndev_locked # git bisect bad 846c3c9cfe8a74021b246bc77a848507be225719 Bisecting: 723 revisions left to test after this (roughly 10 steps) [4d715380b4b8d979f00fa9fc96b1ff088d7cb142] net: ipa: share field mask values for IPA hash registers testing commit 4d715380b4b8d979f00fa9fc96b1ff088d7cb142 with gcc (GCC) 8.1.0 kernel signature: 42461e834c501080bbcc73ee7e05bc57199ddc36a35da5674b54f0602a88ca6f run #0: basic kernel testing failed: BUG: sleeping function called from invalid context in sta_info_move_state run #1: crashed: BUG: unable to handle kernel paging request in j1939_priv_get_by_ndev_locked run #2: crashed: BUG: unable to handle kernel paging request in j1939_priv_get_by_ndev_locked run #3: crashed: BUG: unable to handle kernel paging request in j1939_priv_get_by_ndev_locked run #4: crashed: BUG: unable to handle kernel paging request in j1939_priv_get_by_ndev_locked run #5: crashed: BUG: unable to handle kernel paging request in j1939_priv_get_by_ndev_locked run #6: crashed: BUG: unable to handle kernel paging request in j1939_priv_get_by_ndev_locked run #7: crashed: BUG: unable to handle kernel paging request in j1939_priv_get_by_ndev_locked run #8: crashed: BUG: unable to handle kernel paging request in j1939_priv_get_by_ndev_locked run #9: crashed: BUG: unable to handle kernel paging request in j1939_priv_get_by_ndev_locked # git bisect bad 4d715380b4b8d979f00fa9fc96b1ff088d7cb142 Bisecting: 361 revisions left to test after this (roughly 9 steps) [fcb8e3a328ed4d1624b3ccd5a4c1c67f9cd561d9] net: smc: convert tasklets to use new tasklet_setup() API testing commit fcb8e3a328ed4d1624b3ccd5a4c1c67f9cd561d9 with gcc (GCC) 8.1.0 kernel signature: 6206c9dfe6d916adce0e9e349c7c1406e075be43990cc3be921fff3069058b5b all runs: OK # git bisect good fcb8e3a328ed4d1624b3ccd5a4c1c67f9cd561d9 Bisecting: 195 revisions left to test after this (roughly 8 steps) [774626fa440e4c01bcbe5213cd5220dea545c9f7] net: phy: mscc: Add PTP support for 2 more VSC PHYs testing commit 774626fa440e4c01bcbe5213cd5220dea545c9f7 with gcc (GCC) 8.1.0 kernel signature: 3e122c040fa7dffb08da9d514ae6953d0d19fdad87a2463114c025ed8c4c6585 run #0: crashed: BUG: unable to handle kernel paging request in j1939_priv_get_by_ndev_locked run #1: crashed: BUG: unable to handle kernel paging request in j1939_priv_get_by_ndev_locked run #2: crashed: BUG: unable to handle kernel paging request in j1939_priv_get_by_ndev_locked run #3: crashed: BUG: unable to handle kernel paging request in j1939_priv_get_by_ndev_locked run #4: crashed: BUG: unable to handle kernel paging request in j1939_priv_get_by_ndev_locked run #5: crashed: BUG: unable to handle kernel paging request in j1939_priv_get_by_ndev_locked run #6: crashed: BUG: unable to handle kernel paging request in j1939_priv_get_by_ndev_locked run #7: crashed: BUG: sleeping function called from invalid context in sta_info_move_state run #8: crashed: BUG: unable to handle kernel paging request in j1939_priv_get_by_ndev_locked run #9: crashed: BUG: unable to handle kernel paging request in j1939_priv_get_by_ndev_locked # git bisect bad 774626fa440e4c01bcbe5213cd5220dea545c9f7 Bisecting: 82 revisions left to test after this (roughly 6 steps) [ef1220a7d4bbdb5fc435d691776778568dfb69a8] selftests: pmtu.sh: use $ksft_skip for skipped return code testing commit ef1220a7d4bbdb5fc435d691776778568dfb69a8 with gcc (GCC) 8.1.0 kernel signature: 3daa3decace311a695c6cbebdc8903ef49942de65f62cc9fe3aaa461d44b65e1 all runs: crashed: BUG: unable to handle kernel paging request in j1939_priv_get_by_ndev_locked # git bisect bad ef1220a7d4bbdb5fc435d691776778568dfb69a8 Bisecting: 41 revisions left to test after this (roughly 5 steps) [6a9006287959ef69556d612dcbde9e68bf16a42b] net: dsa: use net core stats64 handling testing commit 6a9006287959ef69556d612dcbde9e68bf16a42b with gcc (GCC) 8.1.0 kernel signature: e926ae51f052f2087888d20f11a60b9d099ce6b510b4d9314af991ef1ad0f20c all runs: OK # git bisect good 6a9006287959ef69556d612dcbde9e68bf16a42b Bisecting: 20 revisions left to test after this (roughly 4 steps) [49e3aeeb211ca9f870e06b71b770d70343e5231f] net: ipa: get rid of a useless line of code testing commit 49e3aeeb211ca9f870e06b71b770d70343e5231f with gcc (GCC) 8.1.0 kernel signature: 0be5e6d8203d7c1a4d062aebea3269d64095bf6fae66f1917b07203ea2d91d2a run #0: basic kernel testing failed: BUG: sleeping function called from invalid context in sta_info_move_state run #1: crashed: BUG: unable to handle kernel paging request in j1939_priv_get_by_ndev_locked run #2: crashed: BUG: unable to handle kernel paging request in j1939_priv_get_by_ndev_locked run #3: crashed: BUG: unable to handle kernel paging request in j1939_priv_get_by_ndev_locked run #4: crashed: BUG: unable to handle kernel paging request in j1939_priv_get_by_ndev_locked run #5: crashed: BUG: unable to handle kernel paging request in j1939_priv_get_by_ndev_locked run #6: crashed: BUG: unable to handle kernel paging request in j1939_priv_get_by_ndev_locked run #7: crashed: BUG: unable to handle kernel paging request in j1939_priv_get_by_ndev_locked run #8: crashed: BUG: unable to handle kernel paging request in j1939_priv_get_by_ndev_locked run #9: crashed: BUG: unable to handle kernel paging request in j1939_priv_get_by_ndev_locked # git bisect bad 49e3aeeb211ca9f870e06b71b770d70343e5231f Bisecting: 10 revisions left to test after this (roughly 3 steps) [8be33ecfc1ffd2da20cc29e957e4cb6eb99310cb] net: skb_vlan_untag(): don't reset transport offset if set by GRO layer testing commit 8be33ecfc1ffd2da20cc29e957e4cb6eb99310cb with gcc (GCC) 8.1.0 kernel signature: 453c51ebac9c13a08a2a46ba6e21aba415fe1a83f9d51dd8c39112d882e5751a run #0: basic kernel testing failed: BUG: sleeping function called from invalid context in sta_info_move_state run #1: crashed: BUG: unable to handle kernel paging request in j1939_priv_get_by_ndev_locked run #2: crashed: BUG: unable to handle kernel paging request in j1939_priv_get_by_ndev_locked run #3: crashed: BUG: unable to handle kernel paging request in j1939_priv_get_by_ndev_locked run #4: crashed: BUG: unable to handle kernel paging request in j1939_priv_get_by_ndev_locked run #5: crashed: BUG: unable to handle kernel paging request in j1939_priv_get_by_ndev_locked run #6: crashed: BUG: unable to handle kernel paging request in j1939_priv_get_by_ndev_locked run #7: crashed: BUG: unable to handle kernel paging request in j1939_priv_get_by_ndev_locked run #8: crashed: BUG: unable to handle kernel paging request in j1939_priv_get_by_ndev_locked run #9: crashed: BUG: unable to handle kernel paging request in j1939_priv_get_by_ndev_locked # git bisect bad 8be33ecfc1ffd2da20cc29e957e4cb6eb99310cb Bisecting: 4 revisions left to test after this (roughly 2 steps) [42f9e5f0c6edf4fd0ca95eb01bf9e15829493125] wireguard: switch to dev_get_tstats64 testing commit 42f9e5f0c6edf4fd0ca95eb01bf9e15829493125 with gcc (GCC) 8.1.0 kernel signature: c8edbd1d70d9d3d37859e27021f23de7ba855c28f747e30549d92e74400c154e all runs: crashed: BUG: unable to handle kernel paging request in j1939_priv_get_by_ndev_locked # git bisect bad 42f9e5f0c6edf4fd0ca95eb01bf9e15829493125 Bisecting: 2 revisions left to test after this (roughly 1 step) [6b840a04fe3521c3eea41e32dd5b0835418553da] ip6_tunnel: use ip_tunnel_get_stats64 as ndo_get_stats64 callback testing commit 6b840a04fe3521c3eea41e32dd5b0835418553da with gcc (GCC) 8.1.0 kernel signature: 041e97aa14a4a28e76ffa43cf721ee7c07ee40fc3eca4aeea55539ec2a47914c all runs: crashed: BUG: unable to handle kernel paging request in j1939_priv_get_by_ndev_locked # git bisect bad 6b840a04fe3521c3eea41e32dd5b0835418553da Bisecting: 0 revisions left to test after this (roughly 0 steps) [497a5757ce4e8f37219a3989ac6a561eb9a8e6c7] tun: switch to net core provided statistics counters testing commit 497a5757ce4e8f37219a3989ac6a561eb9a8e6c7 with gcc (GCC) 8.1.0 kernel signature: f9130f998587bc2cec619f42d703b8c4b6dc5a9c9a70fbfe69fb5cc3b0421200 run #0: crashed: BUG: unable to handle kernel paging request in j1939_priv_get_by_ndev_locked run #1: crashed: BUG: unable to handle kernel paging request in j1939_priv_get_by_ndev_locked run #2: crashed: BUG: unable to handle kernel paging request in j1939_priv_get_by_ndev_locked run #3: crashed: BUG: sleeping function called from invalid context in sta_info_move_state run #4: crashed: BUG: unable to handle kernel paging request in j1939_priv_get_by_ndev_locked run #5: crashed: BUG: unable to handle kernel paging request in j1939_priv_get_by_ndev_locked run #6: crashed: BUG: unable to handle kernel paging request in j1939_priv_get_by_ndev_locked run #7: crashed: BUG: unable to handle kernel paging request in j1939_priv_get_by_ndev_locked run #8: crashed: BUG: unable to handle kernel paging request in j1939_priv_get_by_ndev_locked run #9: crashed: BUG: unable to handle kernel paging request in j1939_priv_get_by_ndev_locked # git bisect bad 497a5757ce4e8f37219a3989ac6a561eb9a8e6c7 497a5757ce4e8f37219a3989ac6a561eb9a8e6c7 is the first bad commit commit 497a5757ce4e8f37219a3989ac6a561eb9a8e6c7 Author: Heiner Kallweit Date: Sat Nov 7 21:50:56 2020 +0100 tun: switch to net core provided statistics counters Switch tun to the standard statistics pattern: - use netdev->stats for the less frequently accessed counters - use netdev->tstats for the frequently accessed per-cpu counters v3: - add atomic_long_t member rx_frame_errors for making counter updates atomic Signed-off-by: Heiner Kallweit Signed-off-by: Jakub Kicinski drivers/net/tun.c | 121 +++++++++++++++--------------------------------------- 1 file changed, 34 insertions(+), 87 deletions(-) culprit signature: f9130f998587bc2cec619f42d703b8c4b6dc5a9c9a70fbfe69fb5cc3b0421200 parent signature: e926ae51f052f2087888d20f11a60b9d099ce6b510b4d9314af991ef1ad0f20c revisions tested: 14, total time: 2h10m50.081934511s (build: 1h4m13.882413989s, test: 1h5m20.658030519s) first bad commit: 497a5757ce4e8f37219a3989ac6a561eb9a8e6c7 tun: switch to net core provided statistics counters recipients (to): ["davem@davemloft.net" "hkallweit1@gmail.com" "kuba@kernel.org" "kuba@kernel.org" "netdev@vger.kernel.org"] recipients (cc): ["linux-kernel@vger.kernel.org"] crash: BUG: unable to handle kernel paging request in j1939_priv_get_by_ndev_locked BUG: unable to handle page fault for address: 0000607ec40805e8 #PF: supervisor read access in kernel mode #PF: error_code(0x0000) - not-present page PGD 0 P4D 0 Oops: 0000 [#1] PREEMPT SMP CPU: 0 PID: 10189 Comm: syz-executor.3 Not tainted 5.10.0-rc2-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 RIP: 0010:j1939_ndev_to_priv net/can/j1939/main.c:219 [inline] RIP: 0010:j1939_priv_get_by_ndev_locked+0x2b/0xa0 net/can/j1939/main.c:231 Code: 48 89 fb 48 83 ec 08 8b 05 ae 28 1d 02 85 c0 75 4a 31 c0 66 81 bb 44 02 00 00 18 01 75 37 48 8b 93 a0 05 00 00 48 85 d2 74 2b <48> 8b 82 28 60 00 00 48 85 c0 74 1f 48 8d b8 58 10 00 00 ba 01 00 RSP: 0018:ffffc90002d73d30 EFLAGS: 00010206 RAX: 0000000000000000 RBX: ffff88811f058000 RCX: 00000000ffffffff RDX: 0000607ec407a5c0 RSI: ffffffff844801bf RDI: ffffffff8458d67e RBP: ffff88811f058000 R08: 0000000000000001 R09: 0000000000000001 R10: 0000000000000001 R11: 0000000000000000 R12: 0000000000000006 R13: ffffffff8506d060 R14: ffffffff85069e70 R15: 0000000000000006 FS: 00000000026d8940(0000) GS:ffff88813bc00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000607ec40805e8 CR3: 000000011e8f7000 CR4: 00000000001506f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: j1939_priv_get_by_ndev net/can/j1939/main.c:243 [inline] j1939_netdev_notify+0x1e/0xa0 net/can/j1939/main.c:353 notifier_call_chain+0x2f/0x90 kernel/notifier.c:83 call_netdevice_notifiers_extack net/core/dev.c:2047 [inline] call_netdevice_notifiers net/core/dev.c:2061 [inline] rollback_registered_many+0x3a9/0x650 net/core/dev.c:9422 rollback_registered+0x51/0x90 net/core/dev.c:9467 unregister_netdevice_queue+0x6e/0xb0 net/core/dev.c:10622 unregister_netdevice include/linux/netdevice.h:2850 [inline] __tun_detach+0x4cf/0x5a0 drivers/net/tun.c:662 tun_detach drivers/net/tun.c:679 [inline] tun_chr_close+0x40/0xa0 drivers/net/tun.c:3337 __fput+0xaa/0x250 fs/file_table.c:281 task_work_run+0x68/0xb0 kernel/task_work.c:151 tracehook_notify_resume include/linux/tracehook.h:188 [inline] exit_to_user_mode_loop kernel/entry/common.c:164 [inline] exit_to_user_mode_prepare+0x1b5/0x1c0 kernel/entry/common.c:191 syscall_exit_to_user_mode+0x38/0x260 kernel/entry/common.c:266 entry_SYSCALL_64_after_hwframe+0x44/0xa9 RIP: 0033:0x417ab1 Code: 75 14 b8 03 00 00 00 0f 05 48 3d 01 f0 ff ff 0f 83 a4 1a 00 00 c3 48 83 ec 08 e8 0a fc ff ff 48 89 04 24 b8 03 00 00 00 0f 05 <48> 8b 3c 24 48 89 c2 e8 53 fc ff ff 48 89 d0 48 83 c4 08 48 3d 01 RSP: 002b:00007fffdef26e00 EFLAGS: 00000293 ORIG_RAX: 0000000000000003 RAX: 0000000000000000 RBX: 0000000000000004 RCX: 0000000000417ab1 RDX: 0000001b2c420000 RSI: 0000000000000001 RDI: 0000000000000003 RBP: 0000000000000001 R08: 0000000000000000 R09: 0000000000000000 R10: 00007fffdef26ee0 R11: 0000000000000293 R12: 000000000119ca00 R13: 000000000119ca00 R14: 00000000000003e8 R15: 000000000119c034 Modules linked in: CR2: 0000607ec40805e8 ---[ end trace 5564c80a85b1bdc0 ]--- RIP: 0010:j1939_ndev_to_priv net/can/j1939/main.c:219 [inline] RIP: 0010:j1939_priv_get_by_ndev_locked+0x2b/0xa0 net/can/j1939/main.c:231 Code: 48 89 fb 48 83 ec 08 8b 05 ae 28 1d 02 85 c0 75 4a 31 c0 66 81 bb 44 02 00 00 18 01 75 37 48 8b 93 a0 05 00 00 48 85 d2 74 2b <48> 8b 82 28 60 00 00 48 85 c0 74 1f 48 8d b8 58 10 00 00 ba 01 00 RSP: 0018:ffffc90002d73d30 EFLAGS: 00010206 RAX: 0000000000000000 RBX: ffff88811f058000 RCX: 00000000ffffffff RDX: 0000607ec407a5c0 RSI: ffffffff844801bf RDI: ffffffff8458d67e RBP: ffff88811f058000 R08: 0000000000000001 R09: 0000000000000001 R10: 0000000000000001 R11: 0000000000000000 R12: 0000000000000006 R13: ffffffff8506d060 R14: ffffffff85069e70 R15: 0000000000000006 FS: 00000000026d8940(0000) GS:ffff88813bc00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000607ec40805e8 CR3: 000000011e8f7000 CR4: 00000000001506f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400