============================= [ BUG: Invalid wait context ] syzkaller #0 Tainted: G L ----------------------------- ksoftirqd/0/15 is trying to lock: ffff8880272152e0 (&gpc->lock){....}-{3:3}, at: kvm_xen_set_evtchn_fast+0x1fb/0x9b0 arch/x86/kvm/xen.c:1820 other info that might help us debug this: context-{2:2} 4 locks held by ksoftirqd/0/15: #0: ffffffff8e55a360 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:331 [inline] #0: ffffffff8e55a360 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:867 [inline] #0: ffffffff8e55a360 (rcu_read_lock){....}-{1:3}, at: ieee80211_rx_napi+0xd3/0x3e0 net/mac80211/rx.c:5566 #1: ffff888034208168 (&rdev->bss_lock){+.-.}-{3:3}, at: spin_lock_bh include/linux/spinlock.h:356 [inline] #1: ffff888034208168 (&rdev->bss_lock){+.-.}-{3:3}, at: cfg80211_inform_single_bss_data+0xbab/0x1ab0 net/wireless/scan.c:2368 #2: ffffffff8e55a360 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:331 [inline] #2: ffffffff8e55a360 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:867 [inline] #2: ffffffff8e55a360 (rcu_read_lock){....}-{1:3}, at: class_rcu_constructor include/linux/rcupdate.h:1195 [inline] #2: ffffffff8e55a360 (rcu_read_lock){....}-{1:3}, at: unwind_next_frame+0xa5/0x23c0 arch/x86/kernel/unwind_orc.c:495 #3: ffff888027215838 (&kvm->srcu){.?.?}-{0:0}, at: srcu_lock_acquire include/linux/srcu.h:185 [inline] #3: ffff888027215838 (&kvm->srcu){.?.?}-{0:0}, at: srcu_read_lock include/linux/srcu.h:277 [inline] #3: ffff888027215838 (&kvm->srcu){.?.?}-{0:0}, at: kvm_xen_set_evtchn_fast+0x1c3/0x9b0 arch/x86/kvm/xen.c:1818 stack backtrace: CPU: 0 UID: 0 PID: 15 Comm: ksoftirqd/0 Tainted: G L syzkaller #0 PREEMPT(full) Tainted: [L]=SOFTLOCKUP Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/24/2026 Call Trace: dump_stack_lvl+0xe8/0x150 lib/dump_stack.c:120 print_lock_invalid_wait_context kernel/locking/lockdep.c:4830 [inline] check_wait_context kernel/locking/lockdep.c:4902 [inline] __lock_acquire+0xec1/0x2cf0 kernel/locking/lockdep.c:5187 lock_acquire+0x106/0x330 kernel/locking/lockdep.c:5868 __raw_read_lock_irqsave include/linux/rwlock_api_smp.h:160 [inline] _raw_read_lock_irqsave+0x48/0x60 kernel/locking/spinlock.c:236 kvm_xen_set_evtchn_fast+0x1fb/0x9b0 arch/x86/kvm/xen.c:1820 xen_timer_callback+0x109/0x220 arch/x86/kvm/xen.c:140 __run_hrtimer kernel/time/hrtimer.c:1777 [inline] __hrtimer_run_queues+0x4dc/0xc30 kernel/time/hrtimer.c:1841 hrtimer_interrupt+0x42b/0x1010 kernel/time/hrtimer.c:1903 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1045 [inline] __sysvec_apic_timer_interrupt+0x102/0x3d0 arch/x86/kernel/apic/apic.c:1062 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1056 [inline] sysvec_apic_timer_interrupt+0xa1/0xc0 arch/x86/kernel/apic/apic.c:1056 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:697 RIP: 0010:lock_acquire+0x221/0x330 kernel/locking/lockdep.c:5872 Code: ff ff ff e8 41 b0 f6 09 f7 44 24 08 00 02 00 00 0f 84 3a ff ff ff 65 48 8b 05 2b 61 52 11 48 3b 44 24 58 75 33 fb 48 83 c4 60 <5b> 41 5c 41 5d 41 5e 41 5f 5d e9 50 94 f9 09 cc 48 8d 3d 38 15 52 RSP: 0000:ffffc90000146798 EFLAGS: 00000282 RAX: 755a81fdd88d0300 RBX: 0000000000000000 RCX: 0000000080000301 RDX: 00000000b5e77709 RSI: ffffffff8df343a3 RDI: ffffffff8c073a00 RBP: ffffffff81759195 R08: ffffffff81759195 R09: ffffffff8e55a360 R10: ffffc900001468f8 R11: ffffffff81afb170 R12: 0000000000000002 R13: ffffffff8e55a360 R14: 0000000000000000 R15: 0000000000000246 rcu_lock_acquire include/linux/rcupdate.h:331 [inline] rcu_read_lock include/linux/rcupdate.h:867 [inline] class_rcu_constructor include/linux/rcupdate.h:1195 [inline] unwind_next_frame+0xc2/0x23c0 arch/x86/kernel/unwind_orc.c:495 arch_stack_walk+0x11b/0x150 arch/x86/kernel/stacktrace.c:25 stack_trace_save+0xa9/0x100 kernel/stacktrace.c:122 kasan_save_stack mm/kasan/common.c:57 [inline] kasan_save_track+0x3e/0x80 mm/kasan/common.c:78 poison_kmalloc_redzone mm/kasan/common.c:398 [inline] __kasan_kmalloc+0x93/0xb0 mm/kasan/common.c:415 kasan_kmalloc include/linux/kasan.h:263 [inline] __do_kmalloc_node mm/slub.c:5657 [inline] __kmalloc_noprof+0x40c/0x7e0 mm/slub.c:5669 kmalloc_noprof include/linux/slab.h:961 [inline] kzalloc_noprof include/linux/slab.h:1094 [inline] ieee802_11_parse_elems_full+0x159/0x2ab0 net/mac80211/parse.c:1031 ieee802_11_parse_elems net/mac80211/ieee80211_i.h:2467 [inline] ieee80211_inform_bss+0x161/0x1160 net/mac80211/scan.c:79 rdev_inform_bss net/wireless/rdev-ops.h:418 [inline] cfg80211_inform_single_bss_data+0xcf9/0x1ab0 net/wireless/scan.c:2373 cfg80211_inform_bss_data+0x23f/0x3c20 net/wireless/scan.c:3228 cfg80211_inform_bss_frame_data+0x3c7/0x710 net/wireless/scan.c:3319 ieee80211_bss_info_update+0x794/0xa40 net/mac80211/scan.c:230 ieee80211_scan_rx+0x552/0xa40 net/mac80211/scan.c:364 __ieee80211_rx_handle_packet net/mac80211/rx.c:5287 [inline] ieee80211_rx_list+0x2508/0x3050 net/mac80211/rx.c:5544 ieee80211_rx_napi+0x1b1/0x3e0 net/mac80211/rx.c:5567 ieee80211_rx include/net/mac80211.h:5216 [inline] ieee80211_handle_queued_frames+0xe8/0x1e0 net/mac80211/main.c:452 tasklet_action_common+0x2da/0x4b0 kernel/softirq.c:925 handle_softirqs+0x22a/0x7c0 kernel/softirq.c:622 run_ksoftirqd+0x36/0x60 kernel/softirq.c:1063 smpboot_thread_fn+0x541/0xa50 kernel/smpboot.c:160 kthread+0x726/0x8b0 kernel/kthread.c:463 ret_from_fork+0x51b/0xa40 arch/x86/kernel/process.c:158 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:246 ---------------- Code disassembly (best guess), 2 bytes skipped: 0: ff ljmp (bad) 1: e8 41 b0 f6 09 call 0x9f6b047 6: f7 44 24 08 00 02 00 testl $0x200,0x8(%rsp) d: 00 e: 0f 84 3a ff ff ff je 0xffffff4e 14: 65 48 8b 05 2b 61 52 mov %gs:0x1152612b(%rip),%rax # 0x11526147 1b: 11 1c: 48 3b 44 24 58 cmp 0x58(%rsp),%rax 21: 75 33 jne 0x56 23: fb sti 24: 48 83 c4 60 add $0x60,%rsp * 28: 5b pop %rbx <-- trapping instruction 29: 41 5c pop %r12 2b: 41 5d pop %r13 2d: 41 5e pop %r14 2f: 41 5f pop %r15 31: 5d pop %rbp 32: e9 50 94 f9 09 jmp 0x9f99487 37: cc int3 38: 48 rex.W 39: 8d .byte 0x8d 3a: 3d .byte 0x3d 3b: 38 .byte 0x38 3c: 15 .byte 0x15 3d: 52 push %rdx