============================= [ BUG: Invalid wait context ] 6.15.0-syzkaller-08297-ge0797d3b91de #0 Not tainted ----------------------------- syz.3.2056/14132 is trying to lock: ffffc9000bd14410 (&gpc->lock){....}-{3:3}, at: kvm_xen_set_evtchn_fast+0x1fb/0x9a0 arch/x86/kvm/xen.c:1819 other info that might help us debug this: context-{2:2} 2 locks held by syz.3.2056/14132: #0: ffff88805bec2428 (sb_writers#3){.+.+}-{0:0}, at: direct_splice_actor+0x49/0x160 fs/splice.c:1157 #1: ffffc9000bd14960 (&kvm->srcu){.?.+}-{0:0}, at: srcu_lock_acquire include/linux/srcu.h:161 [inline] #1: ffffc9000bd14960 (&kvm->srcu){.?.+}-{0:0}, at: srcu_read_lock include/linux/srcu.h:253 [inline] #1: ffffc9000bd14960 (&kvm->srcu){.?.+}-{0:0}, at: kvm_xen_set_evtchn_fast+0x1c3/0x9a0 arch/x86/kvm/xen.c:1817 stack backtrace: CPU: 0 UID: 0 PID: 14132 Comm: syz.3.2056 Not tainted 6.15.0-syzkaller-08297-ge0797d3b91de #0 PREEMPT(full) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025 Call Trace: dump_stack_lvl+0x189/0x250 lib/dump_stack.c:120 print_lock_invalid_wait_context kernel/locking/lockdep.c:4833 [inline] check_wait_context kernel/locking/lockdep.c:4905 [inline] __lock_acquire+0xbcb/0xd20 kernel/locking/lockdep.c:5190 lock_acquire+0x120/0x360 kernel/locking/lockdep.c:5871 __raw_read_lock_irqsave include/linux/rwlock_api_smp.h:160 [inline] _raw_read_lock_irqsave+0xaf/0x100 kernel/locking/spinlock.c:236 kvm_xen_set_evtchn_fast+0x1fb/0x9a0 arch/x86/kvm/xen.c:1819 xen_timer_callback+0x109/0x220 arch/x86/kvm/xen.c:140 __run_hrtimer kernel/time/hrtimer.c:1761 [inline] __hrtimer_run_queues+0x4dd/0xc60 kernel/time/hrtimer.c:1825 hrtimer_interrupt+0x45b/0xaa0 kernel/time/hrtimer.c:1887 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1039 [inline] __sysvec_apic_timer_interrupt+0x10b/0x410 arch/x86/kernel/apic/apic.c:1056 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1050 [inline] sysvec_apic_timer_interrupt+0xa1/0xc0 arch/x86/kernel/apic/apic.c:1050 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:702 RIP: 0010:__sanitizer_cov_trace_pc+0x46/0x70 kernel/kcov.c:222 Code: ff 00 74 11 81 fa 00 01 00 00 75 35 83 b9 3c 16 00 00 00 74 2c 8b 91 18 16 00 00 83 fa 02 75 21 48 8b 91 20 16 00 00 48 8b 32 <48> 8d 7e 01 8b 89 1c 16 00 00 48 39 cf 73 08 48 89 3a 48 89 44 f2 RSP: 0018:ffffc9000bf370a0 EFLAGS: 00000246 RAX: ffffffff8203dd54 RBX: ffffea0000cfba80 RCX: ffff88806e9b9e00 RDX: ffffc9000ce2c000 RSI: 000000000007ffff RDI: 0000000000000000 RBP: dffffc0000000000 R08: ffffea0000cfba47 R09: 1ffffd400019f748 R10: dffffc0000000000 R11: fffff9400019f749 R12: 0000000000000000 R13: ffffea0000cfba88 R14: ffff8881404ae000 R15: ffffea0000000000 arch_static_branch arch/x86/include/asm/jump_label.h:36 [inline] page_fixed_fake_head include/linux/page-flags.h:206 [inline] _compound_head include/linux/page-flags.h:284 [inline] PageHuge include/linux/page-flags.h:1129 [inline] isolate_migratepages_block+0x894/0x3c70 mm/compaction.c:983 isolate_migratepages mm/compaction.c:2167 [inline] compact_zone+0x22ab/0x4af0 mm/compaction.c:2659 compact_node mm/compaction.c:2958 [inline] compact_nodes mm/compaction.c:2980 [inline] sysctl_compaction_handler+0x3a4/0x7b0 mm/compaction.c:3031 proc_sys_call_handler+0x509/0x7c0 fs/proc/proc_sysctl.c:601 iter_file_splice_write+0x937/0x1000 fs/splice.c:738 do_splice_from fs/splice.c:935 [inline] direct_splice_actor+0xfe/0x160 fs/splice.c:1158 splice_direct_to_actor+0x5a8/0xcc0 fs/splice.c:1102 do_splice_direct_actor fs/splice.c:1201 [inline] do_splice_direct+0x181/0x270 fs/splice.c:1227 do_sendfile+0x4da/0x7e0 fs/read_write.c:1370 __do_sys_sendfile64 fs/read_write.c:1425 [inline] __se_sys_sendfile64+0xd9/0x190 fs/read_write.c:1417 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0xfa/0x3b0 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f7251b8e969 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 a8 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007f72529d7038 EFLAGS: 00000246 ORIG_RAX: 0000000000000028 RAX: ffffffffffffffda RBX: 00007f7251db5fa0 RCX: 00007f7251b8e969 RDX: 00002000000000c0 RSI: 0000000000000007 RDI: 000000000000000a RBP: 00007f7251c10ab1 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000005 R11: 0000000000000246 R12: 0000000000000000 R13: 0000000000000000 R14: 00007f7251db5fa0 R15: 00007ffc18549de8 ---------------- Code disassembly (best guess): 0: ff 00 incl (%rax) 2: 74 11 je 0x15 4: 81 fa 00 01 00 00 cmp $0x100,%edx a: 75 35 jne 0x41 c: 83 b9 3c 16 00 00 00 cmpl $0x0,0x163c(%rcx) 13: 74 2c je 0x41 15: 8b 91 18 16 00 00 mov 0x1618(%rcx),%edx 1b: 83 fa 02 cmp $0x2,%edx 1e: 75 21 jne 0x41 20: 48 8b 91 20 16 00 00 mov 0x1620(%rcx),%rdx 27: 48 8b 32 mov (%rdx),%rsi * 2a: 48 8d 7e 01 lea 0x1(%rsi),%rdi <-- trapping instruction 2e: 8b 89 1c 16 00 00 mov 0x161c(%rcx),%ecx 34: 48 39 cf cmp %rcx,%rdi 37: 73 08 jae 0x41 39: 48 89 3a mov %rdi,(%rdx) 3c: 48 rex.W 3d: 89 .byte 0x89 3e: 44 rex.R 3f: f2 repnz