============================= [ BUG: Invalid wait context ] 6.16.0-rc2-syzkaller-00318-g739a6c93cc75 #0 Not tainted ----------------------------- kworker/u8:16/9956 is trying to lock: ffffc900054ea410 (&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} 5 locks held by kworker/u8:16/9956: #0: ffff88801a889148 ((wq_completion)events_unbound){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:3213 [inline] #0: ffff88801a889148 ((wq_completion)events_unbound){+.+.}-{0:0}, at: process_scheduled_works+0x9b4/0x17b0 kernel/workqueue.c:3321 #1: ffffc90005577bc0 ((work_completion)(&(&nsim_dev->trap_data->trap_report_dw)->work)){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:3214 [inline] #1: ffffc90005577bc0 ((work_completion)(&(&nsim_dev->trap_data->trap_report_dw)->work)){+.+.}-{0:0}, at: process_scheduled_works+0x9ef/0x17b0 kernel/workqueue.c:3321 #2: ffff88807a336250 (&devlink->lock_key#30){+.+.}-{4:4}, at: nsim_dev_trap_report_work+0x57/0xb80 drivers/net/netdevsim/dev.c:838 #3: ffff8880647f08e0 (&nsim_trap_data->trap_lock){+.+.}-{3:3}, at: spin_lock include/linux/spinlock.h:351 [inline] #3: ffff8880647f08e0 (&nsim_trap_data->trap_lock){+.+.}-{3:3}, at: nsim_dev_trap_report drivers/net/netdevsim/dev.c:791 [inline] #3: ffff8880647f08e0 (&nsim_trap_data->trap_lock){+.+.}-{3:3}, at: nsim_dev_trap_report_work+0x1a9/0xb80 drivers/net/netdevsim/dev.c:851 #4: ffffc900054ea960 (&kvm->srcu){.?.+}-{0:0}, at: srcu_lock_acquire include/linux/srcu.h:161 [inline] #4: ffffc900054ea960 (&kvm->srcu){.?.+}-{0:0}, at: srcu_read_lock include/linux/srcu.h:253 [inline] #4: ffffc900054ea960 (&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: 9956 Comm: kworker/u8:16 Not tainted 6.16.0-rc2-syzkaller-00318-g739a6c93cc75 #0 PREEMPT(full) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025 Workqueue: events_unbound nsim_dev_trap_report_work 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/0x9b0 arch/x86/kvm/xen.c:1820 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_switch+0x82/0x130 kernel/kcov.c:350 Code: 00 00 b9 01 00 00 00 48 85 c0 0f 84 b4 00 00 00 41 57 41 56 41 54 53 48 8b 54 24 20 65 4c 8b 04 25 08 40 c0 92 45 31 c9 eb 08 <49> ff c1 4c 39 c8 74 77 4e 8b 54 ce 10 65 44 8b 1d 99 9d ff 10 41 RSP: 0018:ffffc90005577918 EFLAGS: 00000293 RAX: 0000000000000003 RBX: 00000000c6336400 RCX: 0000000000000001 RDX: ffffffff895d2f5c RSI: ffffffff8f7249f0 RDI: 0000000000000031 RBP: 0000000000000031 R08: ffff88807c015a00 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000031 R13: 0000000000000000 R14: ffffffff8c3363ec R15: ffffffff8c3363ec in_aton+0x33c/0x440 net/core/utils.c:61 nsim_dev_trap_skb_build drivers/net/netdevsim/dev.c:764 [inline] nsim_dev_trap_report drivers/net/netdevsim/dev.c:805 [inline] nsim_dev_trap_report_work+0x50d/0xb80 drivers/net/netdevsim/dev.c:851 process_one_work kernel/workqueue.c:3238 [inline] process_scheduled_works+0xae1/0x17b0 kernel/workqueue.c:3321 worker_thread+0x8a0/0xda0 kernel/workqueue.c:3402 kthread+0x70e/0x8a0 kernel/kthread.c:464 ret_from_fork+0x3f9/0x770 arch/x86/kernel/process.c:148 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245 vkms_vblank_simulate: vblank timer overrun vkms_vblank_simulate: vblank timer overrun hrtimer: interrupt took 469449849 ns vkms_vblank_simulate: vblank timer overrun ---------------- Code disassembly (best guess): 0: 00 00 add %al,(%rax) 2: b9 01 00 00 00 mov $0x1,%ecx 7: 48 85 c0 test %rax,%rax a: 0f 84 b4 00 00 00 je 0xc4 10: 41 57 push %r15 12: 41 56 push %r14 14: 41 54 push %r12 16: 53 push %rbx 17: 48 8b 54 24 20 mov 0x20(%rsp),%rdx 1c: 65 4c 8b 04 25 08 40 mov %gs:0xffffffff92c04008,%r8 23: c0 92 25: 45 31 c9 xor %r9d,%r9d 28: eb 08 jmp 0x32 * 2a: 49 ff c1 inc %r9 <-- trapping instruction 2d: 4c 39 c8 cmp %r9,%rax 30: 74 77 je 0xa9 32: 4e 8b 54 ce 10 mov 0x10(%rsi,%r9,8),%r10 37: 65 44 8b 1d 99 9d ff mov %gs:0x10ff9d99(%rip),%r11d # 0x10ff9dd8 3e: 10 3f: 41 rex.B