syzbot
general protection fault in saitek_event
Status:
upstream: reported C repro on 2026/10/27 09:21
Reported-by: syzbot+3dca5422c559b2d51fa7@syzkaller.appspotmail.com
First crash: 4d15h, last: 1d03h
Sample crash report:
general protection fault, probably for non-canonical address 0xdffffc0000000003: 0000 [#1] PREEMPT SMP KASAN
KASAN: null-ptr-deref in range [0x0000000000000018-0x000000000000001f]
CPU: 1 PID: 0 Comm: swapper/1 Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/07/2026
RIP: 0010:saitek_event+0x51/0x2c0 drivers/hid/hid-saitek.c:154
Code: 00 fe 49 83 c6 60 4c 89 f0 48 c1 e8 03 42 80 3c 20 00 74 08 4c 89 f7 e8 cd 88 3b fe 4d 8b 36 49 83 c6 18 4c 89 f0 48 c1 e8 03 <42> 80 3c 20 00 74 08 4c 89 f7 e8 b0 88 3b fe 49 8b 06 48 89 45 d0
RSP: 0018:ffffc90000170700 EFLAGS: 00010006
RAX: 0000000000000003 RBX: ffff8881059ed170 RCX: ffff888100291400
RDX: 0000000000000101 RSI: ffff8881059ed100 RDI: ffff888100b90000
RBP: ffffc90000170730 R08: 0000000000000000 R09: 0000000000000004
R10: dffffc0000000000 R11: fffff5200002e088 R12: dffffc0000000000
R13: 000000000000008d R14: 0000000000000018 R15: ffff888100b90000
FS: 0000000000000000(0000) GS:ffff8881f7100000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f3070c40d58 CR3: 00000001087bd000 CR4: 00000000003506a0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
<IRQ>
hid_process_event+0x3ea/0x5a0 drivers/hid/hid-core.c:1538
hid_input_field drivers/hid/hid-core.c:1592 [inline]
__hid_report_raw_event+0x143b/0x1dd0 drivers/hid/hid-core.c:1847
hid_input_report+0x44c/0x500 drivers/hid/hid-core.c:1922
hid_ctrl+0x235/0x510 drivers/hid/usbhid/hid-core.c:486
__usb_hcd_giveback_urb+0x32f/0x4f0 drivers/usb/core/hcd.c:1674
usb_hcd_giveback_urb+0x11d/0x3f0 drivers/usb/core/hcd.c:1748
dummy_timer+0xa3a/0x32d0 drivers/usb/gadget/udc/dummy_hcd.c:2000
call_timer_fn+0x38/0x290 kernel/time/timer.c:1450
expire_timers kernel/time/timer.c:1495 [inline]
__run_timers+0x637/0x9a0 kernel/time/timer.c:1789
run_timer_softirq+0x6a/0xf0 kernel/time/timer.c:1802
__do_softirq+0x255/0x563 kernel/softirq.c:309
asm_call_irq_on_stack+0xf/0x20
</IRQ>
__run_on_irqstack arch/x86/include/asm/irq_stack.h:26 [inline]
run_on_irqstack_cond arch/x86/include/asm/irq_stack.h:77 [inline]
do_softirq_own_stack+0x60/0x80 arch/x86/kernel/irq_64.c:77
invoke_softirq kernel/softirq.c:405 [inline]
__irq_exit_rcu+0x128/0x150 kernel/softirq.c:435
irq_exit_rcu+0x9/0x10 kernel/softirq.c:447
sysvec_apic_timer_interrupt+0xbf/0xe0 arch/x86/kernel/apic/apic.c:1106
asm_sysvec_apic_timer_interrupt+0x12/0x20 arch/x86/include/asm/idtentry.h:635
RIP: 0010:default_idle+0x12/0x20 arch/x86/kernel/process.c:718
Code: 49 bd 00 00 00 00 00 fc ff df e9 68 ff ff ff e8 84 f7 fa ff 00 00 cc cc 55 48 89 e5 0f 1f 44 00 00 0f 00 2d 30 f8 61 00 fb f4 <5d> c3 66 2e 0f 1f 84 00 00 00 00 00 66 90 55 48 89 e5 41 57 41 56
RSP: 0018:ffffc90000107db8 EFLAGS: 00000252
RAX: ffff8881f7100000 RBX: ffff888100291400 RCX: 00000000000059ce
RDX: 0000000000000001 RSI: ffffffff85406bc0 RDI: ffffffff85406b80
RBP: ffffc90000107db8 R08: ffff8881f7157413 R09: 1ffff1103ee2ae82
R10: dffffc0000000000 R11: ffffed103ee2ae83 R12: 0000000000000000
R13: 1ffff11020052280 R14: dffffc0000000000 R15: dffffc0000000000
arch_cpu_idle+0xa/0x10 arch/x86/kernel/process.c:709
default_idle_call+0x71/0x1d0 kernel/sched/idle.c:114
cpuidle_idle_call kernel/sched/idle.c:204 [inline]
do_idle+0x217/0x620 kernel/sched/idle.c:328
cpu_startup_entry+0x18/0x20 kernel/sched/idle.c:425
start_secondary+0x2cb/0x380 arch/x86/kernel/smpboot.c:276
secondary_startup_64_no_verify+0xad/0xbb
Modules linked in:
---[ end trace dd0aed80149470ce ]---
RIP: 0010:saitek_event+0x51/0x2c0 drivers/hid/hid-saitek.c:154
Code: 00 fe 49 83 c6 60 4c 89 f0 48 c1 e8 03 42 80 3c 20 00 74 08 4c 89 f7 e8 cd 88 3b fe 4d 8b 36 49 83 c6 18 4c 89 f0 48 c1 e8 03 <42> 80 3c 20 00 74 08 4c 89 f7 e8 b0 88 3b fe 49 8b 06 48 89 45 d0
RSP: 0018:ffffc90000170700 EFLAGS: 00010006
RAX: 0000000000000003 RBX: ffff8881059ed170 RCX: ffff888100291400
RDX: 0000000000000101 RSI: ffff8881059ed100 RDI: ffff888100b90000
RBP: ffffc90000170730 R08: 0000000000000000 R09: 0000000000000004
R10: dffffc0000000000 R11: fffff5200002e088 R12: dffffc0000000000
R13: 000000000000008d R14: 0000000000000018 R15: ffff888100b90000
FS: 0000000000000000(0000) GS:ffff8881f7100000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f3070c40d58 CR3: 00000001087bd000 CR4: 00000000003506a0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
----------------
Code disassembly (best guess):
0: 00 fe add %bh,%dh
2: 49 83 c6 60 add $0x60,%r14
6: 4c 89 f0 mov %r14,%rax
9: 48 c1 e8 03 shr $0x3,%rax
d: 42 80 3c 20 00 cmpb $0x0,(%rax,%r12,1)
12: 74 08 je 0x1c
14: 4c 89 f7 mov %r14,%rdi
17: e8 cd 88 3b fe call 0xfe3b88e9
1c: 4d 8b 36 mov (%r14),%r14
1f: 49 83 c6 18 add $0x18,%r14
23: 4c 89 f0 mov %r14,%rax
26: 48 c1 e8 03 shr $0x3,%rax
* 2a: 42 80 3c 20 00 cmpb $0x0,(%rax,%r12,1) <-- trapping instruction
2f: 74 08 je 0x39
31: 4c 89 f7 mov %r14,%rdi
34: e8 b0 88 3b fe call 0xfe3b88e9
39: 49 8b 06 mov (%r14),%rax
3c: 48 89 45 d0 mov %rax,-0x30(%rbp)
* Struck through repros no longer work on HEAD.