bisecting cause commit starting from d96657dc9238f8e9bda47b377e17e7c6f90935af building syzkaller on 9e8eaa75a18a5cf8102e862be692c0781759e51b testing commit d96657dc9238f8e9bda47b377e17e7c6f90935af compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.35.2 kernel signature: 0f828075154fea6f61b235263273044bba36ade99a91f80aafd18834e0fb9606 run #0: basic kernel testing failed: BUG: program execution failed: executor NUM: exit status NUM run #1: crashed: BUG: using smp_processor_id() in preemptible code in tun_chr_write_iter run #2: crashed: BUG: using smp_processor_id() in preemptible code in tun_chr_write_iter run #3: crashed: BUG: using smp_processor_id() in preemptible code in tun_chr_write_iter run #4: crashed: BUG: using smp_processor_id() in preemptible code in tun_chr_write_iter run #5: crashed: BUG: using smp_processor_id() in preemptible code in tun_chr_write_iter run #6: crashed: BUG: using smp_processor_id() in preemptible code in tun_chr_write_iter run #7: crashed: BUG: using smp_processor_id() in preemptible code in tun_chr_write_iter run #8: crashed: BUG: using smp_processor_id() in preemptible code in tun_chr_write_iter run #9: crashed: BUG: using smp_processor_id() in preemptible code in tun_chr_write_iter run #10: crashed: BUG: using smp_processor_id() in preemptible code in tun_chr_write_iter run #11: crashed: BUG: using smp_processor_id() in preemptible code in tun_chr_write_iter run #12: crashed: BUG: using smp_processor_id() in preemptible code in tun_chr_write_iter run #13: crashed: BUG: using smp_processor_id() in preemptible code in tun_chr_write_iter run #14: crashed: BUG: using smp_processor_id() in preemptible code in tun_chr_write_iter run #15: crashed: BUG: using smp_processor_id() in preemptible code in tun_chr_write_iter run #16: crashed: BUG: using smp_processor_id() in preemptible code in tun_chr_write_iter run #17: crashed: BUG: using smp_processor_id() in preemptible code in tun_chr_write_iter run #18: crashed: BUG: using smp_processor_id() in preemptible code in tun_chr_write_iter run #19: crashed: BUG: using smp_processor_id() in preemptible code in tun_chr_write_iter testing release v5.16 testing commit df0cc57e057f18e44dac8e6c18aba47ab53202f9 compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.35.2 kernel signature: 1fd9ab6ec52dc5d6eec160897ae3403fe7938723519a9996a423afd6588ef1fc all runs: OK # git bisect start d96657dc9238f8e9bda47b377e17e7c6f90935af df0cc57e057f18e44dac8e6c18aba47ab53202f9 Bisecting: 8158 revisions left to test after this (roughly 13 steps) [1aa77e716c6f2332f2d4664f747ff4eba731825b] Merge remote-tracking branch 'torvalds/master' into perf/core testing commit 1aa77e716c6f2332f2d4664f747ff4eba731825b compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.35.2 kernel signature: dbab94a69da1dc284cf4472b0e909acbd0f848b985922a8b3f9fcb38dde27502 run #0: basic kernel testing failed: BUG: program execution failed: executor NUM: exit status NUM run #1: OK run #2: OK run #3: OK run #4: OK run #5: OK run #6: OK run #7: OK run #8: OK run #9: OK # git bisect good 1aa77e716c6f2332f2d4664f747ff4eba731825b Bisecting: 4081 revisions left to test after this (roughly 12 steps) [d656b2ea5fa797e515cd609ba5f4202901f3c466] ipv6: clean up cork setup/release testing commit d656b2ea5fa797e515cd609ba5f4202901f3c466 compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.35.2 kernel signature: 1cd8b724aa34be9e5a3f2a7b758891bb5dcf1e6e75708c901965213a15ca9fd4 all runs: OK # git bisect good d656b2ea5fa797e515cd609ba5f4202901f3c466 Bisecting: 2040 revisions left to test after this (roughly 11 steps) [6b5567b1b21b0efc544b154dc023b7dd4b4dcf4c] Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net testing commit 6b5567b1b21b0efc544b154dc023b7dd4b4dcf4c compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.35.2 kernel signature: 3e57358a501b9c603025ba9ab49d80fa4bb5361b4f56b4e1a64ce62c86c26639 all runs: basic kernel testing failed: WARNING: suspicious RCU usage in hsr_node_get_first # git bisect skip 6b5567b1b21b0efc544b154dc023b7dd4b4dcf4c Bisecting: 2040 revisions left to test after this (roughly 11 steps) [64b4a0f8b51b20e0c9dbff7748365994364d5f01] net: phylink: remove phylink_config's pcs_poll testing commit 64b4a0f8b51b20e0c9dbff7748365994364d5f01 compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.35.2 kernel signature: 4fa9dac4ea8b9777e8521cbb8854d6548c1bee18acd9dc9d33a10b9da74fdcd1 all runs: OK # git bisect good 64b4a0f8b51b20e0c9dbff7748365994364d5f01 Bisecting: 957 revisions left to test after this (roughly 10 steps) [80901bff812984624918d9d03f9286e3245ee9a5] Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net testing commit 80901bff812984624918d9d03f9286e3245ee9a5 compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.35.2 kernel signature: 850e3d310565db17e4e7700b09d8362608081d637a30d2eba425a32a4019c1aa all runs: OK # git bisect good 80901bff812984624918d9d03f9286e3245ee9a5 Bisecting: 384 revisions left to test after this (roughly 9 steps) [1e8a3f0d2a1ef544611a7ea4a7c1512c732e0e43] Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net testing commit 1e8a3f0d2a1ef544611a7ea4a7c1512c732e0e43 compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.35.2 kernel signature: d2ba55165293ebbd2e454f839342971467a4d9fda69ccbb66a7f8d951d39e957 run #0: basic kernel testing failed: BUG: program execution failed: executor NUM: exit status NUM run #1: OK run #2: OK run #3: OK run #4: OK run #5: OK run #6: OK run #7: OK run #8: OK run #9: OK # git bisect good 1e8a3f0d2a1ef544611a7ea4a7c1512c732e0e43 Bisecting: 191 revisions left to test after this (roughly 8 steps) [1ec7ed5163c70a0d040150d2279f932c7e7c143f] Revert "ath: add support for special 0x0 regulatory domain" testing commit 1ec7ed5163c70a0d040150d2279f932c7e7c143f compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.35.2 kernel signature: 8a79f07253aeb603e67a9bb9f8146cb2259dbadcf5fad7c69ee28168d9eb7e72 all runs: basic kernel testing failed: WARNING: suspicious RCU usage in hsr_node_get_first # git bisect skip 1ec7ed5163c70a0d040150d2279f932c7e7c143f Bisecting: 191 revisions left to test after this (roughly 8 steps) [1922260175604ff052ee220f50d12d484770c1d8] Merge ath-next from git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git testing commit 1922260175604ff052ee220f50d12d484770c1d8 compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.35.2 kernel signature: 6aaf2f99d4ecaeddece00b455b7df5068bf6de84703c76a89fc1fb79f0bd4e01 all runs: basic kernel testing failed: WARNING: suspicious RCU usage in hsr_node_get_first # git bisect skip 1922260175604ff052ee220f50d12d484770c1d8 Bisecting: 191 revisions left to test after this (roughly 8 steps) [6679f4c5e5a6a783b004577a987f9815b877abce] can: gs_usb: add extended bt_const feature testing commit 6679f4c5e5a6a783b004577a987f9815b877abce compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.35.2 kernel signature: 3b945e44f786601e05d853237de3d46443d05b3405a0cf0d7543065ff66caa26 all runs: OK # git bisect good 6679f4c5e5a6a783b004577a987f9815b877abce Bisecting: 166 revisions left to test after this (roughly 8 steps) [c7723917a444c6d59f15365ecf54aa6021d97da5] Merge ath-next from git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git testing commit c7723917a444c6d59f15365ecf54aa6021d97da5 compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.35.2 kernel signature: 0c58ac1525b66f034a4bcb3cec2eabe1371d871befb4fbcd6c876ba2f5f4d8af failed: failed to create VM pool: failed to create GCE image: create image operation failed: &{Code:PERMISSIONS_ERROR Location: Message:Required 'read' permission for 'disks/ci-upstream-net-kasan-gce-bisect-job-bisect-job-image.tar.gz' ForceSendFields:[] NullFields:[]}. # git bisect skip c7723917a444c6d59f15365ecf54aa6021d97da5 Bisecting: 166 revisions left to test after this (roughly 8 steps) [990c27425686c4c17ba42c2c6eb80c8c80a51327] iwlwifi: Make use of the helper macro LIST_HEAD() testing commit 990c27425686c4c17ba42c2c6eb80c8c80a51327 compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.35.2 kernel signature: 9f0c8f557b15e83eba468b65bd2aff4793e19178e4b9fb5482e25797222f4575 all runs: basic kernel testing failed: WARNING: suspicious RCU usage in hsr_node_get_first # git bisect skip 990c27425686c4c17ba42c2c6eb80c8c80a51327 Bisecting: 166 revisions left to test after this (roughly 8 steps) [d86ba8db6af3af567cd9a20e194e5ebd8f21987e] can: mcp251xfd: ethtool: add support testing commit d86ba8db6af3af567cd9a20e194e5ebd8f21987e compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.35.2 kernel signature: 0e1d71e35fd18ccd8e3570005388847ee15891469d80c1fac981574302319094 all runs: crashed: BUG: using smp_processor_id() in preemptible code in tun_chr_write_iter # git bisect bad d86ba8db6af3af567cd9a20e194e5ebd8f21987e Bisecting: 190 revisions left to test after this (roughly 8 steps) [b865273ba4d9b15dbd92d079ee14e6e532c22a5a] Merge tag 'mt76-for-kvalo-2022-02-24' of https://github.com/nbd168/wireless testing commit b865273ba4d9b15dbd92d079ee14e6e532c22a5a compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.35.2 kernel signature: 9069622bb4e0d2536af6fb8a0c12a1231dcfc26d8c19263707e11f7f6e128a40 all runs: basic kernel testing failed: WARNING: suspicious RCU usage in hsr_node_get_first # git bisect skip b865273ba4d9b15dbd92d079ee14e6e532c22a5a Bisecting: 190 revisions left to test after this (roughly 8 steps) [f015725fb59bdc13319b0a3ec16d707b024b5603] MAINTAINERS: add devicetree bindings entry for mt76 testing commit f015725fb59bdc13319b0a3ec16d707b024b5603 compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.35.2 kernel signature: 6eeda30005bb567be01f1b234bdf85efdcbb225a68856912d0f253ff8aee7e46 all runs: basic kernel testing failed: WARNING: suspicious RCU usage in hsr_node_get_first # git bisect skip f015725fb59bdc13319b0a3ec16d707b024b5603 Bisecting: 190 revisions left to test after this (roughly 8 steps) [0b3660695e80d53d1bab5b458f3a897a2c427a59] Merge tag 'wireless-next-2022-03-11' of git://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless-next testing commit 0b3660695e80d53d1bab5b458f3a897a2c427a59 compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.35.2 kernel signature: 5b05f6bbf54b550d6362508507d1043881e0718cb1b63c4f57c814ca746e1c8f all runs: OK # git bisect good 0b3660695e80d53d1bab5b458f3a897a2c427a59 Bisecting: 16 revisions left to test after this (roughly 4 steps) [625788b5844511cf4c30cffa7fa0bc3a69cebc82] net: add per-cpu storage and net->core_stats testing commit 625788b5844511cf4c30cffa7fa0bc3a69cebc82 compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.35.2 kernel signature: 251a47c68cbe9671bcd37024f8ca6b62020fa5c2cb6d5e2f353413315b6ef977 all runs: crashed: BUG: using smp_processor_id() in preemptible code in tun_chr_write_iter # git bisect bad 625788b5844511cf4c30cffa7fa0bc3a69cebc82 Bisecting: 8 revisions left to test after this (roughly 3 steps) [5d1359ed5d693a5e4ca76e68c895579ee7b0dc23] nfp: use PluDevice register for model for non-NFP6000 chips testing commit 5d1359ed5d693a5e4ca76e68c895579ee7b0dc23 compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.35.2 kernel signature: af6c6264f812b1e97ae66da03632c32912ac0d72045330f3a1907beb3207351a all runs: OK # git bisect good 5d1359ed5d693a5e4ca76e68c895579ee7b0dc23 Bisecting: 4 revisions left to test after this (roughly 2 steps) [9ba1dc994ff56f273fa9697878c6d47ad945aa44] nfp: use dev_info for the DMA mask testing commit 9ba1dc994ff56f273fa9697878c6d47ad945aa44 compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.35.2 kernel signature: 9cc354e8e7d42108e427a6b777dcb45b770c65256b8f757a1ceff015f500c750 all runs: OK # git bisect good 9ba1dc994ff56f273fa9697878c6d47ad945aa44 Bisecting: 2 revisions left to test after this (roughly 1 step) [7f3aa620f86a75c137c9eccde14eb091a00dfa9d] nfp: take chip version into account for ring sizes testing commit 7f3aa620f86a75c137c9eccde14eb091a00dfa9d compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.35.2 kernel signature: b75e896052bf1744347b46cbf2b7539b6520e071a13f463c44e1ae823ea4bf94 all runs: OK # git bisect good 7f3aa620f86a75c137c9eccde14eb091a00dfa9d Bisecting: 0 revisions left to test after this (roughly 1 step) [a8c063372bff46ed8f94c87cfac45a3ce016a380] Merge branch 'nfp-preliminary-support-for-nfp-3800' testing commit a8c063372bff46ed8f94c87cfac45a3ce016a380 compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.35.2 kernel signature: 3ebbf75f96e63d630da9a184a7dfa95834be1ebca4e250298750b3787fbbda60 run #0: basic kernel testing failed: BUG: program execution failed: executor NUM: exit status NUM run #1: OK run #2: OK run #3: OK run #4: OK run #5: OK run #6: OK run #7: OK run #8: OK run #9: OK # git bisect good a8c063372bff46ed8f94c87cfac45a3ce016a380 625788b5844511cf4c30cffa7fa0bc3a69cebc82 is the first bad commit commit 625788b5844511cf4c30cffa7fa0bc3a69cebc82 Author: Eric Dumazet Date: Thu Mar 10 21:14:20 2022 -0800 net: add per-cpu storage and net->core_stats Before adding yet another possibly contended atomic_long_t, it is time to add per-cpu storage for existing ones: dev->tx_dropped, dev->rx_dropped, and dev->rx_nohandler Because many devices do not have to increment such counters, allocate the per-cpu storage on demand, so that dev_get_stats() does not have to spend considerable time folding zero counters. Note that some drivers have abused these counters which were supposed to be only used by core networking stack. v4: should use per_cpu_ptr() in dev_get_stats() (Jakub) v3: added a READ_ONCE() in netdev_core_stats_alloc() (Paolo) v2: add a missing include (reported by kernel test robot ) Change in netdev_core_stats_alloc() (Jakub) Signed-off-by: Eric Dumazet Cc: jeffreyji Reviewed-by: Brian Vazquez Reviewed-by: Jakub Kicinski Acked-by: Paolo Abeni Link: https://lore.kernel.org/r/20220311051420.2608812-1-eric.dumazet@gmail.com Signed-off-by: Jakub Kicinski drivers/net/bonding/bond_main.c | 2 +- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 4 +- drivers/net/ethernet/hisilicon/hns/hns_ethtool.c | 4 +- .../net/ethernet/qualcomm/rmnet/rmnet_handlers.c | 2 +- drivers/net/ipvlan/ipvlan_core.c | 2 +- drivers/net/macvlan.c | 2 +- drivers/net/net_failover.c | 2 +- drivers/net/tun.c | 16 +++---- drivers/net/vxlan/vxlan_core.c | 2 +- include/linux/netdevice.h | 46 +++++++++++++++---- include/net/bonding.h | 2 +- net/core/dev.c | 51 ++++++++++++++++++---- net/core/gro_cells.c | 2 +- net/hsr/hsr_device.c | 2 +- net/xfrm/xfrm_device.c | 2 +- 15 files changed, 101 insertions(+), 40 deletions(-) culprit signature: 251a47c68cbe9671bcd37024f8ca6b62020fa5c2cb6d5e2f353413315b6ef977 parent signature: 3ebbf75f96e63d630da9a184a7dfa95834be1ebca4e250298750b3787fbbda60 revisions tested: 22, total time: 3h52m3.48579496s (build: 2h25m21.775526176s, test: 1h24m46.506024132s) first bad commit: 625788b5844511cf4c30cffa7fa0bc3a69cebc82 net: add per-cpu storage and net->core_stats recipients (to): ["brianvv@google.com" "edumazet@google.com" "kuba@kernel.org" "pabeni@redhat.com"] recipients (cc): [] crash: BUG: using smp_processor_id() in preemptible code in tun_chr_write_iter BUG: using smp_processor_id() in preemptible [00000000] code: syz-executor557/4058 caller is dev_core_stats include/linux/netdevice.h:3853 [inline] caller is dev_core_stats_rx_dropped_inc include/linux/netdevice.h:3866 [inline] caller is tun_get_user+0x18f5/0x3120 drivers/net/tun.c:1844 CPU: 1 PID: 4058 Comm: syz-executor557 Not tainted 5.17.0-rc7-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Call Trace: __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0x57/0x7d lib/dump_stack.c:106 check_preemption_disabled+0xd9/0xe0 lib/smp_processor_id.c:49 dev_core_stats include/linux/netdevice.h:3853 [inline] dev_core_stats_rx_dropped_inc include/linux/netdevice.h:3866 [inline] tun_get_user+0x18f5/0x3120 drivers/net/tun.c:1844 tun_chr_write_iter+0xbd/0x1b0 drivers/net/tun.c:2015 call_write_iter include/linux/fs.h:2074 [inline] new_sync_write+0x368/0x600 fs/read_write.c:503 vfs_write+0x609/0x900 fs/read_write.c:590 ksys_write+0xf4/0x1d0 fs/read_write.c:643 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x44/0xae RIP: 0033:0x7f08e0671ba3 Code: 5d 41 5c 41 5d 41 5e e9 9b fd ff ff 66 2e 0f 1f 84 00 00 00 00 00 90 64 8b 04 25 18 00 00 00 85 c0 75 14 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 55 c3 0f 1f 40 00 48 83 ec 28 48 89 54 24 18 RSP: 002b:00007fff463f76f8 EFLAGS: 00000246 ORIG_RAX: 0000000000000001 RAX: ffffffffffffffda RBX: 00000000000f4240 RCX: 00007f08e0671ba3 RDX: 00000000000020a7 RSI: 0000000020000000 RDI: 00000000000000c8 RBP: 0000000000000000 R08: 0000000000000000 R09: 00007fff463f7170 R10: 0000000000000000 R11: 0000000000000246 R12: 000000000000ff08 R13: 00007fff463f7720 R14: 00007fff463f7710 R15: 00007fff463f7704