bisecting fixing commit since 0c88e405c97ed1828443b67891e6d4bb6e56cd4e building syzkaller on a0092f9dfdd33924abe5cf5565e4ec4748217c7b testing commit 0c88e405c97ed1828443b67891e6d4bb6e56cd4e compiler: gcc version 8.4.1 20210217 (GCC) kernel signature: ac4dce085d605ed463dd20e44fbf01c867366771602c8d6f2c65fa9ff326cce5 run #0: basic kernel testing failed: BUG: program execution failed: executor NUM: failed to write control pipe: write |NUM: broken pipe run #1: crashed: BUG: unable to handle kernel NULL pointer dereference in rhashtable_free_and_destroy run #2: crashed: KASAN: wild-memory-access Write in rhashtable_free_and_destroy run #3: crashed: KASAN: wild-memory-access Write in rhashtable_free_and_destroy run #4: crashed: BUG: unable to handle kernel NULL pointer dereference in rhashtable_free_and_destroy run #5: crashed: BUG: unable to handle kernel NULL pointer dereference in rhashtable_free_and_destroy run #6: crashed: KASAN: wild-memory-access Write in rhashtable_free_and_destroy run #7: crashed: INFO: trying to register non-static key in rhashtable_free_and_destroy run #8: crashed: BUG: unable to handle kernel NULL pointer dereference in rhashtable_free_and_destroy run #9: crashed: BUG: unable to handle kernel NULL pointer dereference in rhashtable_free_and_destroy run #10: crashed: KASAN: null-ptr-deref Write in rhashtable_free_and_destroy run #11: crashed: INFO: trying to register non-static key in rhashtable_free_and_destroy run #12: crashed: BUG: unable to handle kernel NULL pointer dereference in rhashtable_free_and_destroy run #13: crashed: BUG: unable to handle kernel NULL pointer dereference in rhashtable_free_and_destroy run #14: crashed: BUG: unable to handle kernel NULL pointer dereference in rhashtable_free_and_destroy run #15: crashed: BUG: unable to handle kernel NULL pointer dereference in rhashtable_free_and_destroy run #16: crashed: KASAN: wild-memory-access Write in rhashtable_free_and_destroy run #17: crashed: BUG: unable to handle kernel NULL pointer dereference in rhashtable_free_and_destroy run #18: crashed: INFO: trying to register non-static key in rhashtable_free_and_destroy run #19: crashed: INFO: task hung in rtnl_lock testing current HEAD e23d55af0e1fca9be5c99f0c37d48b289f4d6489 testing commit e23d55af0e1fca9be5c99f0c37d48b289f4d6489 compiler: gcc version 8.4.1 20210217 (GCC) kernel signature: 3d496124fa40742fecead815cf7a112e2287c5f7086bc8e2b978d580f45d05fa all runs: crashed: BUG: unable to handle kernel NULL pointer dereference in rhashtable_free_and_destroy revisions tested: 2, total time: 33m45.612934475s (build: 23m52.094537958s, test: 9m8.748833889s) the crash still happens on HEAD commit msg: Linux 4.19.205 crash: BUG: unable to handle kernel NULL pointer dereference in rhashtable_free_and_destroy RDX: 0000000000000000 RSI: 00000000200006c0 RDI: 0000000000000003 RBP: 00007fc12471d1d0 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000002 R13: 00007ffc7b36bdcf R14: 00007fc12471d300 R15: 0000000000022000 BUG: unable to handle kernel NULL pointer dereference at 0000000000000080 PGD a584d067 P4D a584d067 PUD 9dcc7067 PMD 0 Oops: 0002 [#1] PREEMPT SMP KASAN CPU: 1 PID: 33 Comm: kworker/1:1 Not tainted 4.19.205-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Workqueue: events cfg80211_destroy_iface_wk RIP: 0010:test_and_set_bit arch/x86/include/asm/bitops.h:209 [inline] RIP: 0010:try_to_grab_pending+0xb8/0x5f0 kernel/workqueue.c:1229 Code: 00 00 00 00 fc ff df 4c 89 e2 48 c1 ea 03 80 3c 02 00 0f 85 0f 04 00 00 4d 89 34 24 e8 21 86 26 00 45 84 ed 0f 85 54 01 00 00 48 0f ba 2b 00 72 11 31 c0 48 83 c4 10 5b 41 5c 41 5d 41 5e 41 RSP: 0018:ffff8880b5057840 EFLAGS: 00010046 RAX: 0000000000000007 RBX: 0000000000000080 RCX: 0000000000000000 RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff8880b50489cc RBP: ffff8880b5057878 R08: ffff8880b5048a78 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000000 R12: ffff8880b50578b0 R13: 0000000000000000 R14: 0000000000000286 R15: 0000000000000080 FS: 0000000000000000(0000) GS:ffff8880ba300000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000000080 CR3: 000000009bf00000 CR4: 00000000001406e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: __cancel_work_timer+0x9b/0x430 kernel/workqueue.c:2972 cancel_work_sync+0xb/0x10 kernel/workqueue.c:3049 rhashtable_free_and_destroy+0x25/0x690 lib/rhashtable.c:1145 mesh_table_free net/mac80211/mesh_pathtbl.c:73 [inline] mesh_pathtbl_unregister+0x43/0xa0 net/mac80211/mesh_pathtbl.c:825 ieee80211_mesh_teardown_sdata+0x15/0x20 net/mac80211/mesh.c:1478 ieee80211_teardown_sdata+0x5b/0x70 net/mac80211/iface.c:1122 ieee80211_uninit+0x10/0x20 net/mac80211/iface.c:1127 rollback_registered_many+0x849/0xbe0 net/core/dev.c:8210 rollback_registered+0xdc/0x190 net/core/dev.c:8238 unregister_netdevice_queue+0x186/0x240 net/core/dev.c:9305 unregister_netdevice include/linux/netdevice.h:2615 [inline] ieee80211_if_remove+0x1db/0x2d0 net/mac80211/iface.c:1920 ieee80211_del_iface+0xd/0x20 net/mac80211/cfg.c:144 rdev_del_virtual_intf net/wireless/rdev-ops.h:57 [inline] cfg80211_destroy_ifaces+0xe3/0x540 net/wireless/core.c:317 cfg80211_destroy_iface_wk+0x19/0x30 net/wireless/core.c:329 process_one_work+0x7b9/0x15a0 kernel/workqueue.c:2153 worker_thread+0x85/0xb60 kernel/workqueue.c:2296 kthread+0x347/0x410 kernel/kthread.c:259 ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:415 Modules linked in: CR2: 0000000000000080 ---[ end trace f8631d8e34c300a0 ]--- RIP: 0010:test_and_set_bit arch/x86/include/asm/bitops.h:209 [inline] RIP: 0010:try_to_grab_pending+0xb8/0x5f0 kernel/workqueue.c:1229 Code: 00 00 00 00 fc ff df 4c 89 e2 48 c1 ea 03 80 3c 02 00 0f 85 0f 04 00 00 4d 89 34 24 e8 21 86 26 00 45 84 ed 0f 85 54 01 00 00 48 0f ba 2b 00 72 11 31 c0 48 83 c4 10 5b 41 5c 41 5d 41 5e 41 RSP: 0018:ffff8880b5057840 EFLAGS: 00010046 RAX: 0000000000000007 RBX: 0000000000000080 RCX: 0000000000000000 RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff8880b50489cc RBP: ffff8880b5057878 R08: ffff8880b5048a78 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000000 R12: ffff8880b50578b0 R13: 0000000000000000 R14: 0000000000000286 R15: 0000000000000080 FS: 0000000000000000(0000) GS:ffff8880ba300000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000000080 CR3: 000000009bf00000 CR4: 00000000001406e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 ---------------- Code disassembly (best guess), 6 bytes skipped: 0: df 4c 89 e2 fisttps -0x1e(%rcx,%rcx,4) 4: 48 c1 ea 03 shr $0x3,%rdx 8: 80 3c 02 00 cmpb $0x0,(%rdx,%rax,1) c: 0f 85 0f 04 00 00 jne 0x421 12: 4d 89 34 24 mov %r14,(%r12) 16: e8 21 86 26 00 callq 0x26863c 1b: 45 84 ed test %r13b,%r13b 1e: 0f 85 54 01 00 00 jne 0x178 * 24: f0 48 0f ba 2b 00 lock btsq $0x0,(%rbx) <-- trapping instruction 2a: 72 11 jb 0x3d 2c: 31 c0 xor %eax,%eax 2e: 48 83 c4 10 add $0x10,%rsp 32: 5b pop %rbx 33: 41 5c pop %r12 35: 41 5d pop %r13 37: 41 5e pop %r14 39: 41 rex.B