bisecting fixing commit since b94de4d19498b454645b72d08a05d32fa9074fb5 building syzkaller on cba33199be220cbf61f7c0c8223d88a25a913d6f testing commit b94de4d19498b454645b72d08a05d32fa9074fb5 compiler: gcc version 8.4.1 20210217 (GCC) kernel signature: 92226bc48be6d950aaaf967bc1a0f703393ea115330a7a1398f836efaae13941 all runs: crashed: WARNING in ieee80211_check_rate_mask testing current HEAD 59456c9cc40c8f75b5a7efa0fe1f211d9c6fcaf1 testing commit 59456c9cc40c8f75b5a7efa0fe1f211d9c6fcaf1 compiler: gcc version 8.4.1 20210217 (GCC) kernel signature: 6390937c66df1af3648c069c73d706f215ffdc94d0645515baf26c205dd3c49b all runs: crashed: WARNING in ieee80211_check_rate_mask revisions tested: 2, total time: 28m32.945005129s (build: 21m15.959412249s, test: 6m28.531990103s) the crash still happens on HEAD commit msg: Linux 4.19.204 crash: WARNING in ieee80211_check_rate_mask netlink: 20 bytes leftover after parsing attributes in process `syz-executor.0'. IPv6: ADDRCONF(NETDEV_CHANGE): wlan1: link becomes ready IPv6: ADDRCONF(NETDEV_CHANGE): wlan1: link becomes ready IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready WARNING: CPU: 0 PID: 9198 at net/mac80211/rate.c:279 ieee80211_check_rate_mask+0x1f3/0x2c0 net/mac80211/rate.c:293 Modules linked in: CPU: 0 PID: 9198 Comm: syz-executor.0 Not tainted 4.19.204-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 RIP: 0010:ieee80211_check_rate_mask+0x1f3/0x2c0 net/mac80211/rate.c:279 Code: 89 e2 83 e2 07 83 c2 03 38 ca 7c 08 84 c9 0f 85 c6 00 00 00 41 89 86 f0 09 00 00 48 83 c4 10 5b 41 5c 41 5d 41 5e 41 5f 5d c3 <0f> 0b eb ed 4c 89 e7 89 4d d4 e8 7e 71 5b fa 8b 4d d4 e9 93 fe ff RSP: 0018:ffff8881ecd474d8 EFLAGS: 00010246 RAX: 0000000000000000 RBX: ffff8881f25a1ec0 RCX: 0000000000000000 RDX: 1ffff1103e4b45d6 RSI: ffff8881d7f9b428 RDI: ffff8881f25a2eb0 RBP: ffff8881ecd47510 R08: ffff8881ec2cd061 R09: 0000000000000004 R10: ffffed103aff3688 R11: 0000000000000000 R12: ffff8881d7f9b518 R13: ffff8881f25a1ec0 R14: 0000000000000000 R15: ffff8881ecd475c0 FS: 00007f2707170700(0000) GS:ffff8881f6400000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000538208 CR3: 00000001cf084002 CR4: 00000000001606f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: ieee80211_change_bss+0x409/0x930 net/mac80211/cfg.c:2068 rdev_change_bss net/wireless/rdev-ops.h:380 [inline] nl80211_set_bss+0x675/0xce0 net/wireless/nl80211.c:6030 genl_family_rcv_msg+0x599/0x1000 net/netlink/genetlink.c:602 genl_rcv_msg+0xa7/0x140 net/netlink/genetlink.c:627 netlink_rcv_skb+0x13e/0x3d0 net/netlink/af_netlink.c:2457 genl_rcv+0x23/0x40 net/netlink/genetlink.c:638 netlink_unicast_kernel net/netlink/af_netlink.c:1320 [inline] netlink_unicast+0x443/0x660 net/netlink/af_netlink.c:1346 netlink_sendmsg+0x667/0xc60 net/netlink/af_netlink.c:1911 sock_sendmsg_nosec net/socket.c:651 [inline] sock_sendmsg+0xac/0xf0 net/socket.c:661 ___sys_sendmsg+0x647/0x950 net/socket.c:2225 __sys_sendmsg+0xd9/0x180 net/socket.c:2263 __do_sys_sendmsg net/socket.c:2272 [inline] __se_sys_sendmsg net/socket.c:2270 [inline] __x64_sys_sendmsg+0x73/0xb0 net/socket.c:2270 do_syscall_64+0xd0/0x4e0 arch/x86/entry/common.c:293 entry_SYSCALL_64_after_hwframe+0x49/0xbe RIP: 0033:0x465889 Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 bc ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007f2707170188 EFLAGS: 00000246 ORIG_RAX: 000000000000002e RAX: ffffffffffffffda RBX: 000000000055bf00 RCX: 0000000000465889 RDX: 0000000000000000 RSI: 0000000020000140 RDI: 0000000000000004 RBP: 00000000004af68d R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 000000000055bf00 R13: 00007fff738491cf R14: 00007f2707170300 R15: 0000000000022000 irq event stamp: 2682 hardirqs last enabled at (2681): [] __raw_spin_unlock_irq include/linux/spinlock_api_smp.h:168 [inline] hardirqs last enabled at (2681): [] _raw_spin_unlock_irq+0x27/0x90 kernel/locking/spinlock.c:192 hardirqs last disabled at (2682): [] trace_hardirqs_off_thunk+0x1a/0x1c softirqs last enabled at (2674): [] __do_softirq+0x62d/0x919 kernel/softirq.c:318 softirqs last disabled at (2485): [] invoke_softirq kernel/softirq.c:372 [inline] softirqs last disabled at (2485): [] irq_exit+0x17f/0x1c0 kernel/softirq.c:412 ---[ end trace e47b56096815d538 ]--- wlan0: Created IBSS using preconfigured BSSID 50:50:50:50:50:50 netlink: 20 bytes leftover after parsing attributes in process `syz-executor.5'. wlan0: Creating new IBSS network, BSSID 50:50:50:50:50:50 IPv6: ADDRCONF(NETDEV_UP): wlan1: link is not ready wlan1: Created IBSS using preconfigured BSSID 50:50:50:50:50:50 wlan1: Creating new IBSS network, BSSID 50:50:50:50:50:50 IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready IPv6: ADDRCONF(NETDEV_CHANGE): wlan1: link becomes ready netlink: 20 bytes leftover after parsing attributes in process `syz-executor.4'. IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready netlink: 20 bytes leftover after parsing attributes in process `syz-executor.5'. netlink: 20 bytes leftover after parsing attributes in process `syz-executor.2'. wlan0: Created IBSS using preconfigured BSSID 50:50:50:50:50:50 netlink: 20 bytes leftover after parsing attributes in process `syz-executor.0'. wlan0: Creating new IBSS network, BSSID 50:50:50:50:50:50 IPv6: ADDRCONF(NETDEV_UP): wlan1: link is not ready wlan1: Created IBSS using preconfigured BSSID 50:50:50:50:50:50 IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready wlan1: Creating new IBSS network, BSSID 50:50:50:50:50:50 netlink: 20 bytes leftover after parsing attributes in process `syz-executor.1'. IPv6: ADDRCONF(NETDEV_CHANGE): wlan1: link becomes ready netlink: 20 bytes leftover after parsing attributes in process `syz-executor.2'. netlink: 20 bytes leftover after parsing attributes in process `syz-executor.1'. netlink: 20 bytes leftover after parsing attributes in process `syz-executor.3'. nla_parse: 481 callbacks suppressed netlink: 20 bytes leftover after parsing attributes in process `syz-executor.3'. netlink: 20 bytes leftover after parsing attributes in process `syz-executor.5'. netlink: 20 bytes leftover after parsing attributes in process `syz-executor.0'. netlink: 20 bytes leftover after parsing attributes in process `syz-executor.1'. netlink: 20 bytes leftover after parsing attributes in process `syz-executor.4'. netlink: 20 bytes leftover after parsing attributes in process `syz-executor.2'. netlink: 20 bytes leftover after parsing attributes in process `syz-executor.1'. netlink: 20 bytes leftover after parsing attributes in process `syz-executor.3'. netlink: 20 bytes leftover after parsing attributes in process `syz-executor.0'. netlink: 20 bytes leftover after parsing attributes in process `syz-executor.5'. nla_parse: 592 callbacks suppressed netlink: 20 bytes leftover after parsing attributes in process `syz-executor.1'. netlink: 20 bytes leftover after parsing attributes in process `syz-executor.4'. netlink: 20 bytes leftover after parsing attributes in process `syz-executor.0'. netlink: 20 bytes leftover after parsing attributes in process `syz-executor.5'. ---------------- Code disassembly (best guess): 0: 89 e2 mov %esp,%edx 2: 83 e2 07 and $0x7,%edx 5: 83 c2 03 add $0x3,%edx 8: 38 ca cmp %cl,%dl a: 7c 08 jl 0x14 c: 84 c9 test %cl,%cl e: 0f 85 c6 00 00 00 jne 0xda 14: 41 89 86 f0 09 00 00 mov %eax,0x9f0(%r14) 1b: 48 83 c4 10 add $0x10,%rsp 1f: 5b pop %rbx 20: 41 5c pop %r12 22: 41 5d pop %r13 24: 41 5e pop %r14 26: 41 5f pop %r15 28: 5d pop %rbp 29: c3 retq 2a: 0f 0b ud2 <-- trapping instruction 2c: eb ed jmp 0x1b 2e: 4c 89 e7 mov %r12,%rdi 31: 89 4d d4 mov %ecx,-0x2c(%rbp) 34: e8 7e 71 5b fa callq 0xfa5b71b7 39: 8b 4d d4 mov -0x2c(%rbp),%ecx 3c: e9 .byte 0xe9 3d: 93 xchg %eax,%ebx 3e: fe (bad) 3f: ff .byte 0xff