syzbot
general protection fault in saitek_event
Status:
premoderation: reported C repro on 2026/10/11 08:25
Reported-by: syzbot+7cb7a0a3a9bc1c17ad0c@syzkaller.appspotmail.com
First crash: 2d05h, last: 2d04h
Sample crash report:
Oops: general protection fault, probably for non-canonical address 0xdffffc0000000003: 0000 [#1] PREEMPT SMP KASAN PTI
KASAN: null-ptr-deref in range [0x0000000000000018-0x000000000000001f]
CPU: 0 UID: 0 PID: 310 Comm: sshd-session Not tainted syzkaller #0 9109b4058d136ef0ac9398910d6f8e272823abe4
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/16/2026
RIP: 0010:saitek_event+0x55/0x2d0 drivers/hid/hid-saitek.c:154
Code: 5c fd 49 83 c6 78 4c 89 f0 48 c1 e8 03 42 80 3c 20 00 74 08 4c 89 f7 e8 99 9c b5 fd 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 7c 9c b5 fd 49 8b 06 48 89 45 d0
RSP: 0018:ffffc900000076e0 EFLAGS: 00010006
RAX: 0000000000000003 RBX: ffff88810626bd88 RCX: ffff888107b493c0
RDX: 0000000000000100 RSI: ffff88810626bd00 RDI: ffff888102ac8000
RBP: ffffc90000007710 R08: 0000000000000000 R09: 0000000000000004
R10: 0000000000000000 R11: ffffffff842d2530 R12: dffffc0000000000
R13: 000000000000008d R14: 0000000000000018 R15: ffff888102ac8000
FS: 00007fbcf7540300(0000) GS:ffff8881f6c00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f373fe89bb0 CR3: 0000000106fa0000 CR4: 00000000003526b0
Call Trace:
<IRQ>
hid_process_event+0x410/0x5f0 drivers/hid/hid-core.c:1527
hid_process_report drivers/hid/hid-core.c:1685 [inline]
__hid_report_raw_event+0x100b/0x18e0 drivers/hid/hid-core.c:2067
__hid_input_report+0x444/0x4d0 drivers/hid/hid-core.c:2145
hid_safe_input_report+0x42/0x60 drivers/hid/hid-core.c:2192
hid_ctrl+0x200/0x590 drivers/hid/usbhid/hid-core.c:485
__usb_hcd_giveback_urb+0x36e/0x530 drivers/usb/core/hcd.c:1646
usb_hcd_giveback_urb+0x12b/0x400 drivers/usb/core/hcd.c:1730
dummy_timer+0xa3f/0x4900 drivers/usb/gadget/udc/dummy_hcd.c:2003
__run_hrtimer kernel/time/hrtimer.c:1758 [inline]
__hrtimer_run_queues+0x3ab/0x8e0 kernel/time/hrtimer.c:1822
hrtimer_run_softirq+0x159/0x560 kernel/time/hrtimer.c:1839
handle_softirqs+0x1aa/0x5b0 kernel/softirq.c:621
__do_softirq kernel/softirq.c:659 [inline]
invoke_softirq kernel/softirq.c:476 [inline]
__irq_exit_rcu+0x47/0xb0 kernel/softirq.c:708
irq_exit_rcu+0xd/0x30 kernel/softirq.c:720
common_interrupt+0x97/0xb0 arch/x86/kernel/irq.c:313
</IRQ>
<TASK>
asm_common_interrupt+0x2b/0x40 arch/x86/include/asm/idtentry.h:693
RIP: 0010:check_region_inline mm/kasan/generic.c:-1 [inline]
RIP: 0010:kasan_check_range+0x19/0x2b0 mm/kasan/generic.c:189
Code: cc b8 00 00 00 00 90 90 90 90 90 90 90 90 90 90 90 66 0f 1f 00 b0 01 48 85 f6 0f 84 c0 01 00 00 55 48 89 e5 41 57 41 56 41 55 <41> 54 53 4c 8d 04 37 49 39 f8 0f 82 29 02 00 00 49 89 f9 49 c1 e9
RSP: 0018:ffffc900011ff6f0 EFLAGS: 00000202
RAX: ffff88810772b201 RBX: ffff888107720580 RCX: ffffffff847d7957
RDX: 0000000000000001 RSI: 0000000000000004 RDI: ffff88810772b2a0
RBP: ffffc900011ff708 R08: ffff88810772b29f R09: 0000000000000000
R10: ffff88810772b280 R11: ffffed1020ee5654 R12: dffffc0000000000
R13: ffff888107720660 R14: ffff88810772b2a0 R15: 0000000000000180
__kasan_check_write+0x18/0x20 mm/kasan/shadow.c:37
instrument_atomic_write include/linux/instrumented.h:82 [inline]
atomic_set include/linux/atomic/atomic-instrumented.h:67 [inline]
__finalize_skb_around net/core/skbuff.c:395 [inline]
__build_skb_around+0x257/0x590 net/core/skbuff.c:455
__alloc_skb+0x175/0x360 net/core/skbuff.c:702
alloc_skb_fclone include/linux/skbuff.h:1413 [inline]
tcp_stream_alloc_skb+0x43/0x370 net/ipv4/tcp.c:890
tcp_sendmsg_locked+0xcbc/0x4ac0 net/ipv4/tcp.c:1174
tcp_sendmsg+0x3e/0xd0 net/ipv4/tcp.c:1365
inet_sendmsg+0xb7/0x120 net/ipv4/af_inet.c:858
sock_sendmsg_nosec net/socket.c:713 [inline]
__sock_sendmsg net/socket.c:727 [inline]
sock_write_iter+0x3bf/0x490 net/socket.c:1148
new_sync_write fs/read_write.c:591 [inline]
vfs_write+0x75f/0xfd0 fs/read_write.c:684
ksys_write+0x145/0x260 fs/read_write.c:737
__do_sys_write fs/read_write.c:749 [inline]
__se_sys_write fs/read_write.c:746 [inline]
__x64_sys_write+0x7f/0x90 fs/read_write.c:746
x64_sys_call+0x271c/0x2ee0 arch/x86/include/generated/asm/syscalls_64.h:2
do_syscall_x64 arch/x86/entry/common.c:47 [inline]
do_syscall_64+0x57/0xf0 arch/x86/entry/common.c:78
entry_SYSCALL_64_after_hwframe+0x76/0x7e
RIP: 0033:0x7fbcf6e8d407
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:00007fff8ead3120 EFLAGS: 00000202 ORIG_RAX: 0000000000000001
RAX: ffffffffffffffda RBX: 00007fbcf7540300 RCX: 00007fbcf6e8d407
RDX: 0000000000000064 RSI: 000055fbc1816130 RDI: 0000000000000004
RBP: 000055fbc1819c60 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000202 R12: 0000000000000001
R13: 00007fff8ead3270 R14: 0000000000000000 R15: 0000000000000004
</TASK>
Modules linked in:
---[ end trace 0000000000000000 ]---
RIP: 0010:saitek_event+0x55/0x2d0 drivers/hid/hid-saitek.c:154
Code: 5c fd 49 83 c6 78 4c 89 f0 48 c1 e8 03 42 80 3c 20 00 74 08 4c 89 f7 e8 99 9c b5 fd 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 7c 9c b5 fd 49 8b 06 48 89 45 d0
RSP: 0018:ffffc900000076e0 EFLAGS: 00010006
RAX: 0000000000000003 RBX: ffff88810626bd88 RCX: ffff888107b493c0
RDX: 0000000000000100 RSI: ffff88810626bd00 RDI: ffff888102ac8000
RBP: ffffc90000007710 R08: 0000000000000000 R09: 0000000000000004
R10: 0000000000000000 R11: ffffffff842d2530 R12: dffffc0000000000
R13: 000000000000008d R14: 0000000000000018 R15: ffff888102ac8000
FS: 00007fbcf7540300(0000) GS:ffff8881f6c00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f373fe89bb0 CR3: 0000000106fa0000 CR4: 00000000003526b0
----------------
Code disassembly (best guess):
0: 5c pop %rsp
1: fd std
2: 49 83 c6 78 add $0x78,%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 99 9c b5 fd call 0xfdb59cb5
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 7c 9c b5 fd call 0xfdb59cb5
39: 49 8b 06 mov (%r14),%rax
3c: 48 89 45 d0 mov %rax,-0x30(%rbp)
* Struck through repros no longer work on HEAD.