=============================
[ BUG: Invalid wait context ]
syzkaller #0 Not tainted
-----------------------------
syz.0.65/6003 is trying to lock:
ffff8880571e5bc8 (&gpc->lock){....}-{3:3}, at: kvm_xen_set_evtchn_fast+0x208/0x8d0 arch/x86/kvm/xen.c:1872
other info that might help us debug this:
context-{2:2}
locks held by syz.0.65/6003: 3, last CPU#1:
#0: ffff8880330ce540 (&mm->mmap_lock){++++}-{4:4}, at: mmap_read_lock include/linux/mmap_lock.h:600 [inline]
#0: ffff8880330ce540 (&mm->mmap_lock){++++}-{4:4}, at: __mm_populate+0x182/0x390 mm/gup.c:1946
#1: ffffffff9015a4a0 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:309 [inline]
#1: ffffffff9015a4a0 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:849 [inline]
#1: ffffffff9015a4a0 (rcu_read_lock){....}-{1:3}, at: class_rcu_constructor include/linux/rcupdate.h:1216 [inline]
#1: ffffffff9015a4a0 (rcu_read_lock){....}-{1:3}, at: unwind_next_frame+0x8f/0x2550 arch/x86/kernel/unwind_orc.c:495
#2: ffff8880571e6118 (&kvm->srcu){.?.+}-{0:0}, at: srcu_lock_acquire include/linux/srcu.h:213 [inline]
#2: ffff8880571e6118 (&kvm->srcu){.?.+}-{0:0}, at: srcu_read_lock include/linux/srcu.h:320 [inline]
#2: ffff8880571e6118 (&kvm->srcu){.?.+}-{0:0}, at: kvm_xen_set_evtchn_fast+0x1d2/0x8d0 arch/x86/kvm/xen.c:1870
stack backtrace:
CPU: 1 UID: 0 PID: 6003 Comm: syz.0.65 Not tainted syzkaller #0 PREEMPT(full)
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/16/2026
Call Trace:
dump_stack_lvl+0xe8/0x150 lib/dump_stack.c:120
print_lock_invalid_wait_context kernel/locking/lockdep.c:4874 [inline]
check_wait_context kernel/locking/lockdep.c:4946 [inline]
__lock_acquire+0xf5b/0x2de0 kernel/locking/lockdep.c:5238
lock_acquire+0x115/0x350 kernel/locking/lockdep.c:5942
__raw_read_lock_irqsave include/linux/rwlock_api_smp.h:174 [inline]
_raw_read_lock_irqsave+0x48/0x60 kernel/locking/spinlock.c:271
kvm_xen_set_evtchn_fast+0x208/0x8d0 arch/x86/kvm/xen.c:1872
xen_timer_callback+0x109/0x220 arch/x86/kvm/xen.c:139
__run_hrtimer kernel/time/hrtimer.c:2075 [inline]
__hrtimer_run_queues+0x371/0xa10 kernel/time/hrtimer.c:2132
hrtimer_interrupt+0x4cd/0xaa0 kernel/time/hrtimer.c:2251
local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1051 [inline]
__sysvec_apic_timer_interrupt+0x102/0x430 arch/x86/kernel/apic/apic.c:1068
instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1062 [inline]
sysvec_apic_timer_interrupt+0xa1/0xc0 arch/x86/kernel/apic/apic.c:1062
asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:674
RIP: 0010:lock_acquire+0x232/0x350 kernel/locking/lockdep.c:5947
Code: ff ff ff e8 a0 a3 73 0a f7 44 24 10 00 02 00 00 0f 84 38 ff ff ff 65 48 8b 05 a2 ed 45 13 48 3b 44 24 50 75 33 fb 48 83 c4 58 <5b> 41 5c 41 5d 41 5e 41 5f 5d e9 bf b6 76 0a cc 48 8d 3d 47 94 1f
RSP: 0018:ffffc90005f0eec0 EFLAGS: 00000296
RAX: 17b47baf035b1e00 RBX: 0000000000000000 RCX: 0000000000000046
RDX: 00000000d982211c RSI: ffffffff8ea78d8e RDI: ffffffff8c8ff680
RBP: ffff888032b11f40 R08: ffffffff8178a98f R09: 0000000000000000
R10: ffffc90005f0eff8 R11: ffffffff81b3dd40 R12: ffffffff9015a4a0
R13: 0000000000000002 R14: 0000000000000000 R15: 0000000000000246
rcu_lock_acquire include/linux/rcupdate.h:309 [inline]
rcu_read_lock include/linux/rcupdate.h:849 [inline]
class_rcu_constructor include/linux/rcupdate.h:1216 [inline]
unwind_next_frame+0xac/0x2550 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
save_stack+0x122/0x230 mm/page_owner.c:183
__set_page_owner+0x8d/0x4c0 mm/page_owner.c:359
set_page_owner include/linux/page_owner.h:33 [inline]
post_alloc_hook+0x1f9/0x250 mm/page_alloc.c:1856
prep_new_page mm/page_alloc.c:1864 [inline]
get_page_from_freelist+0x220f/0x2280 mm/page_alloc.c:3935
__alloc_frozen_pages_noprof+0x1fe/0x410 mm/page_alloc.c:5459
alloc_pages_mpol+0x21e/0x390 mm/mempolicy.c:2511
folio_alloc_mpol_noprof+0x39/0x160 mm/mempolicy.c:2530
vma_alloc_folio_noprof+0xe1/0x1e0 mm/mempolicy.c:2565
folio_prealloc mm/memory.c:-1 [inline]
alloc_anon_folio mm/memory.c:5482 [inline]
do_anonymous_page mm/memory.c:5577 [inline]
do_pte_missing+0x16d4/0x3570 mm/memory.c:4760
handle_pte_fault mm/memory.c:6648 [inline]
__handle_mm_fault mm/memory.c:6797 [inline]
handle_mm_fault+0x1a2a/0x3540 mm/memory.c:6964
faultin_page mm/gup.c:1126 [inline]
__get_user_pages+0x1670/0x2750 mm/gup.c:1428
populate_vma_page_range+0x311/0x3f0 mm/gup.c:1864
__mm_populate+0x25f/0x390 mm/gup.c:1967
do_mlock+0x63e/0x760 mm/mlock.c:648
__do_sys_mlock mm/mlock.c:658 [inline]
__se_sys_mlock mm/mlock.c:654 [inline]
__x64_sys_mlock+0x77/0xa0 mm/mlock.c:654
do_syscall_x64 arch/x86/entry/syscall_64.c:61 [inline]
do_syscall_64+0x166/0x520 arch/x86/entry/syscall_64.c:84
entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7f9c5e39f559
Code: ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 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 e8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007f9c5f1db028 EFLAGS: 00000246 ORIG_RAX: 0000000000000095
RAX: ffffffffffffffda RBX: 00007f9c5e626090 RCX: 00007f9c5e39f559
RDX: 0000000000000000 RSI: 0000000000800000 RDI: 0000200000000000
RBP: 00007f9c5e436b20 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 00007f9c5e626128 R14: 00007f9c5e626090 R15: 00007ffd04284478
----------------
Code disassembly (best guess), 2 bytes skipped:
0: ff ljmp (bad)
1: e8 a0 a3 73 0a call 0xa73a3a6
6: f7 44 24 10 00 02 00 testl $0x200,0x10(%rsp)
d: 00
e: 0f 84 38 ff ff ff je 0xffffff4c
14: 65 48 8b 05 a2 ed 45 mov %gs:0x1345eda2(%rip),%rax # 0x1345edbe
1b: 13
1c: 48 3b 44 24 50 cmp 0x50(%rsp),%rax
21: 75 33 jne 0x56
23: fb sti
24: 48 83 c4 58 add $0x58,%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 bf b6 76 0a jmp 0xa76b6f6
37: cc int3
38: 48 rex.W
39: 8d .byte 0x8d
3a: 3d .byte 0x3d
3b: 47 94 rex.RXB xchg %eax,%r12d
3d: 1f (bad)