rcu: INFO: rcu_preempt detected stalls on CPUs/tasks: rcu: 1-....: (0 ticks this GP) idle=c7f/1/0x4000000000000000 softirq=270921/270921 fqs=5244 (detected by 0, t=10502 jiffies, g=524413, q=553) Sending NMI from CPU 0 to CPUs 1: NMI backtrace for cpu 1 CPU: 1 PID: 17215 Comm: kworker/u4:6 Not tainted 5.15.0-rc1-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Workqueue: phy3 ieee80211_iface_work RIP: 0010:__irq_work_queue_local+0x135/0x190 kernel/irq_work.c:64 Code: 8b 48 89 ee 48 89 ef 48 89 da e8 76 7e 56 02 89 c3 31 ff 89 c6 e8 9b ff f3 ff 84 db 74 96 e8 52 f9 f3 ff e8 0d f5 a7 ff 5b 5d <41> 5c e9 44 f9 f3 ff e8 3f f9 f3 ff e8 ea 65 e7 ff eb d2 4c 89 e7 RSP: 0018:ffffc90000dc0a78 EFLAGS: 00000046 RAX: 00000000000400f6 RBX: 0000000000000001 RCX: ffffffff812a0783 RDX: 0000000000000000 RSI: 0000000000000008 RDI: ffffffffff5fc300 RBP: 0000000000000001 R08: 0000000000000000 R09: ffffffff8d6e48c7 R10: fffffbfff1adc918 R11: 0000000000000000 R12: 0000000000000001 R13: ffff8880b9d328f0 R14: 0000000000000000 R15: ffffe8ffffb00800 FS: 0000000000000000(0000) GS:ffff8880b9d00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f431e349718 CR3: 0000000076807000 CR4: 00000000001506e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000600 Call Trace: irq_work_queue_on+0x146/0x160 kernel/irq_work.c:109 rcu_read_unlock_special kernel/rcu/tree_plugin.h:663 [inline] __rcu_read_unlock+0x436/0x570 kernel/rcu/tree_plugin.h:422 rcu_read_unlock include/linux/rcupdate.h:719 [inline] BPF_PROG_RUN_ARRAY include/linux/bpf.h:1270 [inline] trace_call_bpf+0x2f9/0x640 kernel/trace/bpf_trace.c:127 perf_trace_run_bpf_submit+0x91/0x210 kernel/events/core.c:9652 perf_trace_preemptirq_template+0x296/0x460 include/trace/events/preemptirq.h:14 trace_irq_enable_rcuidle include/trace/events/preemptirq.h:40 [inline] trace_irq_enable_rcuidle include/trace/events/preemptirq.h:40 [inline] trace_hardirqs_on+0x156/0x1c0 kernel/trace/trace_preemptirq.c:44 asm_sysvec_irq_work+0x12/0x20 arch/x86/include/asm/idtentry.h:664 RIP: 0010:get_current arch/x86/include/asm/current.h:15 [inline] RIP: 0010:__rcu_read_unlock+0xc4/0x570 kernel/rcu/tree_plugin.h:425 Code: b8 00 00 00 00 00 fc ff df 48 89 fa 48 c1 ea 03 0f b6 04 02 84 c0 74 08 3c 03 0f 8e b6 01 00 00 8b 85 d8 03 00 00 85 c0 75 54 <65> 48 8b 1c 25 40 f0 01 00 48 8d bb d4 03 00 00 48 b8 00 00 00 00 RSP: 0018:ffffc90000dc0db8 EFLAGS: 00000206 RAX: 0000000000000016 RBX: ffff8880b9d328c0 RCX: 1ffffffff1adc4a9 RDX: 0000000000000000 RSI: 0000000000000101 RDI: 0000000000000000 RBP: ffffffff8b988f80 R08: 0000000000000001 R09: 0000000000000001 R10: ffffffff817c36c2 R11: 0000000000000000 R12: 0000000000000001 R13: ffffffff85370100 R14: 0000000000000200 R15: ffffffff853669c0 rcu_read_unlock include/linux/rcupdate.h:719 [inline] ieee80211_iterate_active_interfaces_atomic+0x92/0x180 net/mac80211/util.c:831 mac80211_hwsim_beacon+0xd5/0x1a0 drivers/net/wireless/mac80211_hwsim.c:1861 __run_hrtimer kernel/time/hrtimer.c:1685 [inline] __hrtimer_run_queues+0x609/0xe50 kernel/time/hrtimer.c:1749 hrtimer_run_softirq+0x17b/0x360 kernel/time/hrtimer.c:1766 __do_softirq+0x29b/0x9c2 kernel/softirq.c:558 invoke_softirq kernel/softirq.c:432 [inline] __irq_exit_rcu+0x123/0x180 kernel/softirq.c:636 irq_exit_rcu+0x5/0x20 kernel/softirq.c:648 sysvec_apic_timer_interrupt+0x93/0xc0 arch/x86/kernel/apic/apic.c:1097 asm_sysvec_apic_timer_interrupt+0x12/0x20 arch/x86/include/asm/idtentry.h:638 RIP: 0010:__raw_spin_unlock_irq include/linux/spinlock_api_smp.h:169 [inline] RIP: 0010:_raw_spin_unlock_irq+0x25/0x40 kernel/locking/spinlock.c:202 Code: 0f 1f 44 00 00 55 48 8b 74 24 08 48 89 fd 48 83 c7 18 e8 ae bb 23 f8 48 89 ef e8 f6 31 24 f8 e8 31 92 44 f8 fb bf 01 00 00 00 b6 f2 17 f8 65 8b 05 df 4c ca 76 85 c0 74 02 5d c3 e8 cb a2 c8 RSP: 0018:ffffc90002ecfd10 EFLAGS: 00000202 RAX: 000000000131ef13 RBX: 0000000000000100 RCX: 1ffffffff1adc4a9 RDX: 0000000000000000 RSI: 0000000000000001 RDI: 0000000000000001 RBP: ffff888010c69800 R08: 0000000000000001 R09: 0000000000000001 R10: ffffffff817c36c2 R11: 0000000000000000 R12: 0000000000000001 R13: ffff8880792b1810 R14: ffff88805015ae00 R15: ffff888010c69800 process_one_work+0x8b5/0x16b0 kernel/workqueue.c:2270 worker_thread+0x658/0x11f0 kernel/workqueue.c:2444 kthread+0x3e5/0x4d0 kernel/kthread.c:319 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:295 ---------------- Code disassembly (best guess): 0: 8b 48 89 mov -0x77(%rax),%ecx 3: ee out %al,(%dx) 4: 48 89 ef mov %rbp,%rdi 7: 48 89 da mov %rbx,%rdx a: e8 76 7e 56 02 callq 0x2567e85 f: 89 c3 mov %eax,%ebx 11: 31 ff xor %edi,%edi 13: 89 c6 mov %eax,%esi 15: e8 9b ff f3 ff callq 0xfff3ffb5 1a: 84 db test %bl,%bl 1c: 74 96 je 0xffffffb4 1e: e8 52 f9 f3 ff callq 0xfff3f975 23: e8 0d f5 a7 ff callq 0xffa7f535 28: 5b pop %rbx 29: 5d pop %rbp * 2a: 41 5c pop %r12 <-- trapping instruction 2c: e9 44 f9 f3 ff jmpq 0xfff3f975 31: e8 3f f9 f3 ff callq 0xfff3f975 36: e8 ea 65 e7 ff callq 0xffe76625 3b: eb d2 jmp 0xf 3d: 4c 89 e7 mov %r12,%rdi