syzbot
general protection fault in usbtest_probe
Status:
upstream: reported C repro on 2026/07/29 00:19
Subsystems:
usb
Labels:
prio:low
[Documentation on labels]
Reported-by: syzbot+7e1e5911f9eac50bedc7@syzkaller.appspotmail.com
First crash: 5d16h, last: 1d16h
▶
▼
✨ AI Patch Versions (2)
Sample crash report:
usb 5-1: New USB device found, idVendor=0547, idProduct=2235, bcdDevice= 0.00
usb 5-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 5-1: Product: syz
usb 5-1: Manufacturer: syz
usb 5-1: SerialNumber: syz
Oops: general protection fault, probably for non-canonical address 0xdffffc0000000001: 0000 [#1] SMP KASAN NOPTI
KASAN: null-ptr-deref in range [0x0000000000000008-0x000000000000000f]
CPU: 1 UID: 0 PID: 29 Comm: kworker/1:0 Not tainted syzkaller #0 PREEMPT(full)
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
Workqueue: usb_hub_wq hub_event
RIP: 0010:usbtest_probe+0x3b9/0x1280 drivers/usb/misc/usbtest.c:2822
Code: e9 46 fa 45 85 ff 79 5e e8 34 ef 46 fa 48 8b 84 24 80 00 00 00 48 8d 58 0a 48 b8 00 00 00 00 00 fc ff df 48 89 da 48 c1 ea 03 <0f> b6 04 02 48 89 da 83 e2 07 38 d0 7f 08 84 c0 0f 85 58 0d 00 00
RSP: 0018:ffffc90000686fc8 EFLAGS: 00010202
RAX: dffffc0000000000 RBX: 000000000000000a RCX: ffffffff87c37102
RDX: 0000000000000001 RSI: ffffffff87c3710c RDI: ffff88801f69a540
RBP: ffff88802bf65910 R08: 0000000000000005 R09: 0000000000000000
R10: 00000000ffffffff R11: 000000000000758b R12: ffff88816db048b0
R13: ffff88803724fed0 R14: ffff88803724fe00 R15: 00000000ffffffff
FS: 0000000000000000(0000) GS:ffff8880d5edc000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f87747eb580 CR3: 000000002ad51000 CR4: 0000000000352ef0
Call Trace:
<TASK>
usb_probe_interface+0x303/0x8f0 drivers/usb/core/driver.c:396
call_driver_probe drivers/base/dd.c:628 [inline]
really_probe+0x241/0xa60 drivers/base/dd.c:706
__driver_probe_device+0x20e/0x450 drivers/base/dd.c:868
driver_probe_device+0x4a/0x140 drivers/base/dd.c:898
__device_attach_driver+0x1df/0x320 drivers/base/dd.c:1026
bus_for_each_drv+0x159/0x1e0 drivers/base/bus.c:500
__device_attach+0x1e4/0x4d0 drivers/base/dd.c:1098
device_initial_probe+0xaf/0xd0 drivers/base/dd.c:1153
bus_probe_device+0x64/0x160 drivers/base/bus.c:620
device_add+0x121d/0x1970 drivers/base/core.c:3772
usb_set_configuration+0xd97/0x1c60 drivers/usb/core/message.c:2268
usb_generic_driver_probe+0xa1/0xe0 drivers/usb/core/generic.c:250
usb_probe_device+0xef/0x400 drivers/usb/core/driver.c:291
call_driver_probe drivers/base/dd.c:628 [inline]
really_probe+0x241/0xa60 drivers/base/dd.c:706
__driver_probe_device+0x20e/0x450 drivers/base/dd.c:868
driver_probe_device+0x4a/0x140 drivers/base/dd.c:898
__device_attach_driver+0x1df/0x320 drivers/base/dd.c:1026
bus_for_each_drv+0x159/0x1e0 drivers/base/bus.c:500
__device_attach+0x1e4/0x4d0 drivers/base/dd.c:1098
device_initial_probe+0xaf/0xd0 drivers/base/dd.c:1153
bus_probe_device+0x64/0x160 drivers/base/bus.c:620
device_add+0x121d/0x1970 drivers/base/core.c:3772
usb_new_device.cold+0x685/0x115c drivers/usb/core/hub.c:2695
hub_port_connect drivers/usb/core/hub.c:5567 [inline]
hub_port_connect_change drivers/usb/core/hub.c:5707 [inline]
port_event drivers/usb/core/hub.c:5871 [inline]
hub_event+0x30a3/0x4a60 drivers/usb/core/hub.c:5953
process_one_work+0xa23/0x1940 kernel/workqueue.c:3322
process_scheduled_works kernel/workqueue.c:3405 [inline]
worker_thread+0x5ef/0xe50 kernel/workqueue.c:3486
kthread+0x370/0x450 kernel/kthread.c:436
ret_from_fork+0x72b/0xd50 arch/x86/kernel/process.c:158
ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245
</TASK>
Modules linked in:
---[ end trace 0000000000000000 ]---
RIP: 0010:usbtest_probe+0x3b9/0x1280 drivers/usb/misc/usbtest.c:2822
Code: e9 46 fa 45 85 ff 79 5e e8 34 ef 46 fa 48 8b 84 24 80 00 00 00 48 8d 58 0a 48 b8 00 00 00 00 00 fc ff df 48 89 da 48 c1 ea 03 <0f> b6 04 02 48 89 da 83 e2 07 38 d0 7f 08 84 c0 0f 85 58 0d 00 00
RSP: 0018:ffffc90000686fc8 EFLAGS: 00010202
RAX: dffffc0000000000 RBX: 000000000000000a RCX: ffffffff87c37102
RDX: 0000000000000001 RSI: ffffffff87c3710c RDI: ffff88801f69a540
RBP: ffff88802bf65910 R08: 0000000000000005 R09: 0000000000000000
R10: 00000000ffffffff R11: 000000000000758b R12: ffff88816db048b0
R13: ffff88803724fed0 R14: ffff88803724fe00 R15: 00000000ffffffff
FS: 0000000000000000(0000) GS:ffff8880d5edc000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f87747eb580 CR3: 000000002a8fe000 CR4: 0000000000352ef0
----------------
Code disassembly (best guess), 1 bytes skipped:
0: 46 fa rex.RX cli
2: 45 85 ff test %r15d,%r15d
5: 79 5e jns 0x65
7: e8 34 ef 46 fa call 0xfa46ef40
c: 48 8b 84 24 80 00 00 mov 0x80(%rsp),%rax
13: 00
14: 48 8d 58 0a lea 0xa(%rax),%rbx
18: 48 b8 00 00 00 00 00 movabs $0xdffffc0000000000,%rax
1f: fc ff df
22: 48 89 da mov %rbx,%rdx
25: 48 c1 ea 03 shr $0x3,%rdx
* 29: 0f b6 04 02 movzbl (%rdx,%rax,1),%eax <-- trapping instruction
2d: 48 89 da mov %rbx,%rdx
30: 83 e2 07 and $0x7,%edx
33: 38 d0 cmp %dl,%al
35: 7f 08 jg 0x3f
37: 84 c0 test %al,%al
39: 0f 85 58 0d 00 00 jne 0xd97
* Struck through repros no longer work on HEAD.