BUG: kernel NULL pointer dereference, address: 00000000000001c1
#PF: supervisor read access in kernel mode
#PF: error_code(0x0000) - not-present page
PGD 0 P4D 0
Oops: 0000 [#1] PREEMPT SMP PTI
CPU: 1 PID: 3119 Comm: udevd Not tainted 6.9.0-rc2-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025
RIP: 0010:__queue_work+0x16/0x510 kernel/workqueue.c:2321
Code: 1f 44 00 00 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 55 41 57 41 56 41 55 41 54 53 48 83 ec 28 49 89 d6 49 89 f5 89 fd <0f> b7 86 c1 01 00 00 a9 80 01 00 00 74 41 65 8b 05 fd 79 df 7e a9
RSP: 0018:ffffc900000e0d80 EFLAGS: 00010082
RAX: 00000000ffffffed RBX: ffff88817b24ed00 RCX: 0000000000000001
RDX: ffff88817b3c3bb0 RSI: 0000000000000000 RDI: 0000000000000008
RBP: 0000000000000008 R08: 0000000000000000 R09: 00000000000006ab
R10: 0000000000000000 R11: ffffffff82287ea0 R12: ffff888102ba8418
R13: 0000000000000000 R14: ffff88817b3c3bb0 R15: ffff888102ba8000
FS: 00007f2274879880(0000) GS:ffff888237d00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00000000000001c1 CR3: 000000010dfd0000 CR4: 00000000003506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
queue_work_on+0x29/0x70 kernel/workqueue.c:2435
__usb_hcd_giveback_urb+0xb2/0x110 drivers/usb/core/hcd.c:1648
dummy_timer+0x276/0xf60 drivers/usb/gadget/udc/dummy_hcd.c:1985
__run_hrtimer kernel/time/hrtimer.c:1692 [inline]
__hrtimer_run_queues+0x164/0x2c0 kernel/time/hrtimer.c:1756
hrtimer_interrupt+0xf9/0x3a0 kernel/time/hrtimer.c:1818
local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1032 [inline]
__sysvec_apic_timer_interrupt+0x81/0x1c0 arch/x86/kernel/apic/apic.c:1049
instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1043 [inline]
sysvec_apic_timer_interrupt+0x92/0xb0 arch/x86/kernel/apic/apic.c:1043
asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:702
RIP: 0010:__fget_light fs/file.c:1147 [inline]
RIP: 0010:__fdget fs/file.c:1159 [inline]
RIP: 0010:__fdget_pos+0x3e/0xb0 fs/file.c:1186
Code: 98 08 00 00 8b 07 83 f8 01 75 63 48 8b 4f 58 89 f0 8b 11 48 89 14 24 48 3b 04 24 48 19 c0 48 8b 49 08 21 c6 48 23 04 f1 74 59 40 51 40 75 60 48 89 c7 48 83 e7 fc 74 4c f6 47 51 80 74 46 48
RSP: 0018:ffffc9000178feb0 EFLAGS: 00000286
RAX: ffff888100e85800 RBX: ffffc9000178ff00 RCX: ffff888102b17860
RDX: 0000000000000040 RSI: 000000000000000a RDI: ffff888102b17740
RBP: ffffc9000178ff48 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: ffffffff81560100 R12: 00007ffd463ba047
R13: 0000000000000000 R14: ffffc9000178ff58 R15: 0000000000000000
fdget_pos include/linux/file.h:76 [inline]
ksys_write+0x19/0xc0 fs/read_write.c:634
do_syscall_x64 arch/x86/entry/common.c:52 [inline]
do_syscall_64+0x97/0x180 arch/x86/entry/common.c:83
entry_SYSCALL_64_after_hwframe+0x72/0x7a
RIP: 0033:0x7f22740a7407
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:00007ffd463b9fa0 EFLAGS: 00000202 ORIG_RAX: 0000000000000001
RAX: ffffffffffffffda RBX: 00007f2274879880 RCX: 00007f22740a7407
RDX: 0000000000000000 RSI: 00007ffd463ba047 RDI: 000000000000000a
RBP: 000000000000000a R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000202 R12: 00007f22748796e8
R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
Modules linked in:
CR2: 00000000000001c1
---[ end trace 0000000000000000 ]---
RIP: 0010:__queue_work+0x16/0x510 kernel/workqueue.c:2321
Code: 1f 44 00 00 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 55 41 57 41 56 41 55 41 54 53 48 83 ec 28 49 89 d6 49 89 f5 89 fd <0f> b7 86 c1 01 00 00 a9 80 01 00 00 74 41 65 8b 05 fd 79 df 7e a9
RSP: 0018:ffffc900000e0d80 EFLAGS: 00010082
RAX: 00000000ffffffed RBX: ffff88817b24ed00 RCX: 0000000000000001
RDX: ffff88817b3c3bb0 RSI: 0000000000000000 RDI: 0000000000000008
RBP: 0000000000000008 R08: 0000000000000000 R09: 00000000000006ab
R10: 0000000000000000 R11: ffffffff82287ea0 R12: ffff888102ba8418
R13: 0000000000000000 R14: ffff88817b3c3bb0 R15: ffff888102ba8000
FS: 00007f2274879880(0000) GS:ffff888237d00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00000000000001c1 CR3: 000000010dfd0000 CR4: 00000000003506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
----------------
Code disassembly (best guess), 1 bytes skipped:
0: 44 00 00 add %r8b,(%rax)
3: 90 nop
4: 90 nop
5: 90 nop
6: 90 nop
7: 90 nop
8: 90 nop
9: 90 nop
a: 90 nop
b: 90 nop
c: 90 nop
d: 90 nop
e: 90 nop
f: 90 nop
10: 90 nop
11: 90 nop
12: 90 nop
13: 55 push %rbp
14: 41 57 push %r15
16: 41 56 push %r14
18: 41 55 push %r13
1a: 41 54 push %r12
1c: 53 push %rbx
1d: 48 83 ec 28 sub $0x28,%rsp
21: 49 89 d6 mov %rdx,%r14
24: 49 89 f5 mov %rsi,%r13
27: 89 fd mov %edi,%ebp
* 29: 0f b7 86 c1 01 00 00 movzwl 0x1c1(%rsi),%eax <-- trapping instruction
30: a9 80 01 00 00 test $0x180,%eax
35: 74 41 je 0x78
37: 65 8b 05 fd 79 df 7e mov %gs:0x7edf79fd(%rip),%eax # 0x7edf7a3b
3e: a9 .byte 0xa9