syzbot
general protection fault in saitek_event
Status:
upstream: reported C repro on 2026/10/11 09:03
Reported-by: syzbot+9a07b923020e1ee64a7b@syzkaller.appspotmail.com
First crash: 2d08h, last: 2d07h
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 09/16/2026
RIP: 0010:saitek_event+0x51/0x2c0 drivers/hid/hid-saitek.c:154
Code: be fd 49 83 c6 78 4c 89 f0 48 c1 e8 03 42 80 3c 20 00 74 08 4c 89 f7 e8 dd a7 03 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 c0 a7 03 fe 49 8b 06 48 89 45 d0
RSP: 0018:ffffc900001b0768 EFLAGS: 00010006
RAX: 0000000000000003 RBX: ffff88810f99af88 RCX: ffff888100333cc0
RDX: 0000000000000100 RSI: ffff88810f99af00 RDI: ffff88810fd2c000
RBP: ffffc900001b0798 R08: 0000000000000000 R09: ffff88810f99afa4
R10: 0000000000000000 R11: ffffed1021f335f5 R12: dffffc0000000000
R13: 000000000000008d R14: 0000000000000018 R15: ffff88810fd2c000
FS: 0000000000000000(0000) GS:ffff8881f6f00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f560bd01bb0 CR3: 000000010fb35000 CR4: 00000000003506a0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
<IRQ>
hid_process_event+0x3f9/0x5c0 drivers/hid/hid-core.c:1537
hid_process_report drivers/hid/hid-core.c:1695 [inline]
__hid_report_raw_event+0x10b6/0x1a20 drivers/hid/hid-core.c:2052
hid_input_report+0x44f/0x510 drivers/hid/hid-core.c:2128
hid_ctrl+0x235/0x510 drivers/hid/usbhid/hid-core.c:483
__usb_hcd_giveback_urb+0x360/0x520 drivers/usb/core/hcd.c:1673
usb_hcd_giveback_urb+0x11f/0x3e0 drivers/usb/core/hcd.c:1756
dummy_timer+0xa25/0x3270 drivers/usb/gadget/udc/dummy_hcd.c:2004
__run_hrtimer kernel/time/hrtimer.c:1689 [inline]
__hrtimer_run_queues+0x398/0x8a0 kernel/time/hrtimer.c:1753
hrtimer_run_softirq+0x19b/0x260 kernel/time/hrtimer.c:1770
handle_softirqs+0x1d7/0x600 kernel/softirq.c:642
__do_softirq kernel/softirq.c:680 [inline]
invoke_softirq kernel/softirq.c:497 [inline]
__irq_exit_rcu+0x52/0xf0 kernel/softirq.c:729
irq_exit_rcu+0x9/0x10 kernel/softirq.c:741
instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1118 [inline]
sysvec_apic_timer_interrupt+0xa9/0xc0 arch/x86/kernel/apic/apic.c:1118
</IRQ>
<TASK>
asm_sysvec_apic_timer_interrupt+0x1b/0x20 arch/x86/include/asm/idtentry.h:691
RIP: 0010:default_idle+0xf/0x20 arch/x86/kernel/process.c:742
Code: cc 00 00 cc cc 00 00 cc cc 00 00 90 90 90 90 90 90 90 90 90 90 90 b8 0c 67 40 a5 55 48 89 e5 66 90 0f 00 2d 03 c9 64 00 fb f4 <5d> c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 90 90 90 90 90
RSP: 0018:ffffc90000147dd8 EFLAGS: 00000257
RAX: ffff8881f6f00000 RBX: ffff888100333cc0 RCX: a05d1ffa61f72200
RDX: 0000000000000001 RSI: ffffffff85ca6f40 RDI: ffffffff85ca6f00
RBP: ffffc90000147dd8 R08: ffff8881f6f348b3 R09: 1ffff1103ede6916
R10: 0000000000000000 R11: ffffffff85016710 R12: dffffc0000000000
R13: 0000000000000001 R14: ffff888100333cc0 R15: dffffc0000000000
arch_cpu_idle+0x1c/0x20 arch/x86/kernel/process.c:733
default_idle_call+0x71/0x1d0 kernel/sched/idle.c:109
cpuidle_idle_call kernel/sched/idle.c:199 [inline]
do_idle+0x354/0x640 kernel/sched/idle.c:323
cpu_startup_entry+0x43/0x60 kernel/sched/idle.c:422
start_secondary+0x119/0x120 arch/x86/kernel/smpboot.c:281
secondary_startup_64_no_verify+0xce/0xdb
</TASK>
Modules linked in:
---[ end trace 0000000000000000 ]---
RIP: 0010:saitek_event+0x51/0x2c0 drivers/hid/hid-saitek.c:154
Code: be fd 49 83 c6 78 4c 89 f0 48 c1 e8 03 42 80 3c 20 00 74 08 4c 89 f7 e8 dd a7 03 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 c0 a7 03 fe 49 8b 06 48 89 45 d0
RSP: 0018:ffffc900001b0768 EFLAGS: 00010006
RAX: 0000000000000003 RBX: ffff88810f99af88 RCX: ffff888100333cc0
RDX: 0000000000000100 RSI: ffff88810f99af00 RDI: ffff88810fd2c000
RBP: ffffc900001b0798 R08: 0000000000000000 R09: ffff88810f99afa4
R10: 0000000000000000 R11: ffffed1021f335f5 R12: dffffc0000000000
R13: 000000000000008d R14: 0000000000000018 R15: ffff88810fd2c000
FS: 0000000000000000(0000) GS:ffff8881f6f00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f560bd01bb0 CR3: 000000010fb35000 CR4: 00000000003506a0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
----------------
Code disassembly (best guess):
0: be fd 49 83 c6 mov $0xc68349fd,%esi
5: 78 4c js 0x53
7: 89 f0 mov %esi,%eax
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 dd a7 03 fe call 0xfe03a7f9
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 c0 a7 03 fe call 0xfe03a7f9
39: 49 8b 06 mov (%r14),%rax
3c: 48 89 45 d0 mov %rax,-0x30(%rbp)
* Struck through repros no longer work on HEAD.