=============================
[ 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