syzbot
general protection fault in dummy_udc_stop
Status:
premoderation: reported on 2026/07/30 11:35
Reported-by: syzbot+4a3c540ad91d558460bf@syzkaller.appspotmail.com
First crash: 52d, last: 44d
Sample crash report:
general protection fault, probably for non-canonical address 0xdffffc0000000000: 0000 [#1] PREEMPT SMP KASAN
KASAN: null-ptr-deref in range [0x0000000000000000-0x0000000000000007]
CPU: 0 PID: 4005 Comm: syz.0.1117 Tainted: G W syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026
RIP: 0010:dummy_udc_stop+0x7e/0x330 drivers/usb/gadget/udc/dummy_hcd.c:1031
Code: 4d 8d bc c7 d0 04 00 00 4c 89 f8 48 c1 e8 03 80 3c 18 00 49 89 de 74 08 4c 89 ff e8 9c 7c 7f fe 49 8b 1f 48 89 d8 48 c1 e8 03 <42> 80 3c 30 00 74 08 48 89 df e8 83 7c 7f fe 48 8b 1b 48 89 df e8
RSP: 0018:ffffc90000b37800 EFLAGS: 00010246
RAX: 0000000000000000 RBX: 0000000000000000 RCX: ffff888111c4bb40
RDX: 0000000000000000 RSI: 0000000000000002 RDI: 0000000000000005
RBP: ffffc90000b37858 R08: ffff8881123ca003 R09: 1ffff11022479400
R10: dffffc0000000000 R11: ffffed1022479401 R12: ffff8881019b4c90
R13: ffffffff857c2748 R14: dffffc0000000000 R15: ffff8881019b5160
FS: 0000000000000000(0000) GS:ffff8881f7000000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000200000269030 CR3: 00000001171f9000 CR4: 00000000003506b0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
<TASK>
usb_gadget_udc_stop drivers/usb/gadget/udc/core.c:1147 [inline]
usb_gadget_remove_driver+0x1ee/0x310 drivers/usb/gadget/udc/core.c:1441
usb_gadget_unregister_driver+0x181/0x480 drivers/usb/gadget/udc/core.c:1606
raw_release+0xda/0x260 drivers/usb/gadget/legacy/raw_gadget.c:416
__fput+0x22b/0x900 fs/file_table.c:311
____fput+0x15/0x20 fs/file_table.c:339
task_work_run+0x127/0x190 kernel/task_work.c:188
exit_task_work include/linux/task_work.h:33 [inline]
do_exit+0xb70/0x29a0 kernel/exit.c:890
do_group_exit+0x149/0x310 kernel/exit.c:1004
get_signal+0x64f/0x1430 kernel/signal.c:2908
arch_do_signal_or_restart+0xe2/0x1100 arch/x86/kernel/signal.c:867
handle_signal_work kernel/entry/common.c:154 [inline]
exit_to_user_mode_loop+0xa7/0xe0 kernel/entry/common.c:178
exit_to_user_mode_prepare+0x87/0xd0 kernel/entry/common.c:214
__syscall_exit_to_user_mode_work kernel/entry/common.c:296 [inline]
syscall_exit_to_user_mode+0x1a/0x30 kernel/entry/common.c:307
do_syscall_64+0x58/0xa0 arch/x86/entry/common.c:86
entry_SYSCALL_64_after_hwframe+0x66/0xd0
RIP: 0033:0x7f12f69c5d6b
Code: Unable to access opcode bytes at RIP 0x7f12f69c5d41.
RSP: 002b:00007f12f541cf00 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
RAX: fffffffffffffffc RBX: 0000000000000007 RCX: 00007f12f69c5d6b
RDX: 00007f12f541dfd0 RSI: 0000000080085502 RDI: 0000000000000007
RBP: 00007f12f541dfd0 R08: 0000000000000001 R09: 00000000ffffffff
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000080085502
R13: 0000000800000000 R14: 0000000000000002 R15: 00007f12f6a7b882
</TASK>
Modules linked in:
---[ end trace 99a9dd33dae428f9 ]---
RIP: 0010:dummy_udc_stop+0x7e/0x330 drivers/usb/gadget/udc/dummy_hcd.c:1031
Code: 4d 8d bc c7 d0 04 00 00 4c 89 f8 48 c1 e8 03 80 3c 18 00 49 89 de 74 08 4c 89 ff e8 9c 7c 7f fe 49 8b 1f 48 89 d8 48 c1 e8 03 <42> 80 3c 30 00 74 08 48 89 df e8 83 7c 7f fe 48 8b 1b 48 89 df e8
RSP: 0018:ffffc90000b37800 EFLAGS: 00010246
RAX: 0000000000000000 RBX: 0000000000000000 RCX: ffff888111c4bb40
RDX: 0000000000000000 RSI: 0000000000000002 RDI: 0000000000000005
RBP: ffffc90000b37858 R08: ffff8881123ca003 R09: 1ffff11022479400
R10: dffffc0000000000 R11: ffffed1022479401 R12: ffff8881019b4c90
R13: ffffffff857c2748 R14: dffffc0000000000 R15: ffff8881019b5160
FS: 0000000000000000(0000) GS:ffff8881f7000000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000200000269030 CR3: 000000014a048000 CR4: 00000000003506b0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
----------------
Code disassembly (best guess):
0: 4d 8d bc c7 d0 04 00 lea 0x4d0(%r15,%rax,8),%r15
7: 00
8: 4c 89 f8 mov %r15,%rax
b: 48 c1 e8 03 shr $0x3,%rax
f: 80 3c 18 00 cmpb $0x0,(%rax,%rbx,1)
13: 49 89 de mov %rbx,%r14
16: 74 08 je 0x20
18: 4c 89 ff mov %r15,%rdi
1b: e8 9c 7c 7f fe call 0xfe7f7cbc
20: 49 8b 1f mov (%r15),%rbx
23: 48 89 d8 mov %rbx,%rax
26: 48 c1 e8 03 shr $0x3,%rax
* 2a: 42 80 3c 30 00 cmpb $0x0,(%rax,%r14,1) <-- trapping instruction
2f: 74 08 je 0x39
31: 48 89 df mov %rbx,%rdi
34: e8 83 7c 7f fe call 0xfe7f7cbc
39: 48 8b 1b mov (%rbx),%rbx
3c: 48 89 df mov %rbx,%rdi
3f: e8 .byte 0xe8
* Struck through repros no longer work on HEAD.