=============================
[ BUG: Invalid wait context ]
syzkaller #0 Tainted: G L Y
-----------------------------
udevd/14952 is trying to lock:
ffff88804b521bc8 (&gpc->lock){....}-{3:3}, at: kvm_xen_set_evtchn_fast+0x255/0xd70 arch/x86/kvm/xen.c:1872
other info that might help us debug this:
context-{2:2}
locks held by udevd/14952: 1, last CPU#0:
#0: ffff88804b522118 (&kvm->srcu){.?.+}-{0:0}, at: srcu_lock_acquire include/linux/srcu.h:213 [inline]
#0: ffff88804b522118 (&kvm->srcu){.?.+}-{0:0}, at: srcu_read_lock include/linux/srcu.h:320 [inline]
#0: ffff88804b522118 (&kvm->srcu){.?.+}-{0:0}, at: kvm_xen_set_evtchn_fast+0x23b/0xd70 arch/x86/kvm/xen.c:1870
stack backtrace:
CPU: 0 UID: 0 PID: 14952 Comm: udevd Tainted: G L Y syzkaller #0 PREEMPT(full)
Tainted: [L]=SOFTLOCKUP, [Y]=FORCED_BIND
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
Call Trace:
__dump_stack lib/dump_stack.c:94 [inline]
dump_stack_lvl+0x100/0x190 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+0xfcc/0x1f40 kernel/locking/lockdep.c:5238
lock_acquire kernel/locking/lockdep.c:5942 [inline]
lock_acquire+0x1d1/0x380 kernel/locking/lockdep.c:5899
__raw_read_lock_irqsave include/linux/rwlock_api_smp.h:174 [inline]
_raw_read_lock_irqsave+0x46/0x90 kernel/locking/spinlock.c:271
kvm_xen_set_evtchn_fast+0x255/0xd70 arch/x86/kvm/xen.c:1872
xen_timer_callback+0x1db/0x2a0 arch/x86/kvm/xen.c:139
__run_hrtimer kernel/time/hrtimer.c:2075 [inline]
__hrtimer_run_queues+0x135/0x9a0 kernel/time/hrtimer.c:2132
hrtimer_interrupt+0x441/0xaa0 kernel/time/hrtimer.c:2251
local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1051 [inline]
__sysvec_apic_timer_interrupt+0x109/0x470 arch/x86/kernel/apic/apic.c:1068
instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1062 [inline]
sysvec_apic_timer_interrupt+0x9e/0xc0 arch/x86/kernel/apic/apic.c:1062
asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:674
RIP: 0010:__fget_light fs/file.c:1345 [inline]
RIP: 0010:fdget+0x162/0x210 fs/file.c:1357
Code: 4d e8 d2 ad 66 ff 48 8d 7b 40 48 b8 00 00 00 00 00 fc ff df 48 89 fa 48 c1 ea 03 0f b6 04 02 84 c0 74 04 3c 03 7e 7b 8b 6b 40 <31> ff 81 e5 00 40 00 00 89 ee e8 0f a8 66 ff 85 ed 75 11 e8 96 ad
RSP: 0018:ffffc9000346fde8 EFLAGS: 00000246
RAX: 0000000000000000 RBX: ffff8880280bb340 RCX: 0000000000000000
RDX: 1ffff11005017670 RSI: ffffffff82a7a50e RDI: ffff8880280bb380
RBP: 000000000c2e0003 R08: 0000000000000000 R09: ffff8880280bb340
R10: ffff88802c69bc03 R11: 0000000000000000 R12: ffffffffffffffff
R13: 0000000000000000 R14: 0000000000000000 R15: ffffc9000346fe38
class_fd_constructor include/linux/file.h:84 [inline]
__sys_sendmsg+0xbd/0x210 net/socket.c:2793
do_syscall_x64 arch/x86/entry/syscall_64.c:61 [inline]
do_syscall_64+0x123/0x790 arch/x86/entry/syscall_64.c:84
entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7ffa762a7407
Code: 48 89 fa 4c 89 df e8 38 aa 00 00 8b 93 08 03 00 00 59 5e 48 83 f8 fc 74 1a 5b c3 0f 1f 84 00 00 00 00 00 48 8b 44 24 10 0f 05 <5b> c3 0f 1f 80 00 00 00 00 83 e2 39 83 fa 08 75 de e8 23 ff ff ff
RSP: 002b:00007ffdfc0fa0b0 EFLAGS: 00000202 ORIG_RAX: 000000000000002e
RAX: ffffffffffffffda RBX: 00007ffa7693e880 RCX: 00007ffa762a7407
RDX: 0000000000000000 RSI: 00007ffdfc0fa110 RDI: 000000000000000c
RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000202 R12: 0000000000000076
R13: 0000555b58247d90 R14: 0000000000000000 R15: 0000000000000000
----------------
Code disassembly (best guess):
0: 4d e8 d2 ad 66 ff rex.WRB call 0xff66add8
6: 48 8d 7b 40 lea 0x40(%rbx),%rdi
a: 48 b8 00 00 00 00 00 movabs $0xdffffc0000000000,%rax
11: fc ff df
14: 48 89 fa mov %rdi,%rdx
17: 48 c1 ea 03 shr $0x3,%rdx
1b: 0f b6 04 02 movzbl (%rdx,%rax,1),%eax
1f: 84 c0 test %al,%al
21: 74 04 je 0x27
23: 3c 03 cmp $0x3,%al
25: 7e 7b jle 0xa2
27: 8b 6b 40 mov 0x40(%rbx),%ebp
* 2a: 31 ff xor %edi,%edi <-- trapping instruction
2c: 81 e5 00 40 00 00 and $0x4000,%ebp
32: 89 ee mov %ebp,%esi
34: e8 0f a8 66 ff call 0xff66a848
39: 85 ed test %ebp,%ebp
3b: 75 11 jne 0x4e
3d: e8 .byte 0xe8
3e: 96 xchg %eax,%esi
3f: ad lods %ds:(%rsi),%eax