syzbot
general protection fault in dummy_udc_stop
Status:
premoderation: reported on 2026/07/25 11:23
Reported-by: syzbot+a5dc4e56ea2b45da8cfa@syzkaller.appspotmail.com
First crash: 36d, last: 4d22h
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: 2360 Comm: syz.0.519 Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026
RIP: 0010:dummy_udc_stop+0x75/0x120 drivers/usb/gadget/udc/dummy_hcd.c:1039
Code: 94 c0 48 8d 9c c3 f0 04 00 00 48 89 d8 48 c1 e8 03 42 80 3c 38 00 74 08 48 89 df e8 35 70 92 fe 48 8b 1b 48 89 d8 48 c1 e8 03 <42> 80 3c 38 00 74 08 48 89 df e8 1c 70 92 fe 48 8b 1b 48 89 df e8
RSP: 0018:ffffc90001167888 EFLAGS: 00010246
RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000
RDX: ffff888112d08000 RSI: 0000000000000003 RDI: 0000000000000005
RBP: ffffc900011678a0 R08: ffffc90001167827 R09: 1ffff9200022cf04
R10: dffffc0000000000 R11: fffff5200022cf05 R12: ffff888103f88c90
R13: ffffffff855835e8 R14: 0000000000000003 R15: dffffc0000000000
FS: 0000000000000000(0000) GS:ffff8881f7000000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f09f84bc000 CR3: 000000000640f000 CR4: 00000000003526b0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
usb_gadget_udc_stop_locked drivers/usb/gadget/udc/core.c:1197 [inline]
usb_gadget_remove_driver+0x20a/0x330 drivers/usb/gadget/udc/core.c:1501
usb_gadget_unregister_driver+0x181/0x480 drivers/usb/gadget/udc/core.c:1656
raw_release+0xda/0x260 drivers/usb/gadget/legacy/raw_gadget.c:415
__fput+0x2dc/0x730 fs/file_table.c:281
____fput+0x15/0x20 fs/file_table.c:314
task_work_run+0x127/0x190 kernel/task_work.c:189
exit_task_work include/linux/task_work.h:33 [inline]
do_exit+0xa7c/0x24e0 kernel/exit.c:879
do_group_exit+0x149/0x310 kernel/exit.c:993
get_signal+0xfb1/0x1300 kernel/signal.c:2802
arch_do_signal_or_restart+0xe7/0x11b0 arch/x86/kernel/signal.c:805
handle_signal_work kernel/entry/common.c:145 [inline]
exit_to_user_mode_loop+0xa2/0xe0 kernel/entry/common.c:169
exit_to_user_mode_prepare+0x76/0xa0 kernel/entry/common.c:199
syscall_exit_to_user_mode+0x1d/0x40 kernel/entry/common.c:274
do_syscall_64+0x3d/0x40 arch/x86/entry/common.c:56
entry_SYSCALL_64_after_hwframe+0x61/0xcb
RIP: 0033:0x7fef6994f0d9
Code: Unable to access opcode bytes at RIP 0x7fef6994f0af.
RSP: 002b:00007ffc6eaa3718 EFLAGS: 00000246 ORIG_RAX: 00000000000000ca
RAX: fffffffffffffdfc RBX: 000000000001bf1d RCX: 00007fef6994f0d9
RDX: 0000000000000000 RSI: 0000000000000080 RDI: 00007fef69bd6fac
RBP: 0000000000000bea R08: 001af5adb5683ea8 R09: 0000000000000000
R10: 00007ffc6eaa3820 R11: 0000000000000246 R12: 00007ffc6eaa3840
R13: 00007fef69bd6fac R14: 000000000001cb07 R15: 00007ffc6eaa3820
Modules linked in:
---[ end trace f676bf2353687eae ]---
RIP: 0010:dummy_udc_stop+0x75/0x120 drivers/usb/gadget/udc/dummy_hcd.c:1039
Code: 94 c0 48 8d 9c c3 f0 04 00 00 48 89 d8 48 c1 e8 03 42 80 3c 38 00 74 08 48 89 df e8 35 70 92 fe 48 8b 1b 48 89 d8 48 c1 e8 03 <42> 80 3c 38 00 74 08 48 89 df e8 1c 70 92 fe 48 8b 1b 48 89 df e8
RSP: 0018:ffffc90001167888 EFLAGS: 00010246
RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000
RDX: ffff888112d08000 RSI: 0000000000000003 RDI: 0000000000000005
RBP: ffffc900011678a0 R08: ffffc90001167827 R09: 1ffff9200022cf04
R10: dffffc0000000000 R11: fffff5200022cf05 R12: ffff888103f88c90
R13: ffffffff855835e8 R14: 0000000000000003 R15: dffffc0000000000
FS: 0000000000000000(0000) GS:ffff8881f7100000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00005574706b1018 CR3: 000000010cd64000 CR4: 00000000003506a0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
----------------
Code disassembly (best guess):
0: 94 xchg %eax,%esp
1: c0 48 8d 9c rorb $0x9c,-0x73(%rax)
5: c3 ret
6: f0 04 00 lock add $0x0,%al
9: 00 48 89 add %cl,-0x77(%rax)
c: d8 48 c1 fmuls -0x3f(%rax)
f: e8 03 42 80 3c call 0x3c804217
14: 38 00 cmp %al,(%rax)
16: 74 08 je 0x20
18: 48 89 df mov %rbx,%rdi
1b: e8 35 70 92 fe call 0xfe927055
20: 48 8b 1b mov (%rbx),%rbx
23: 48 89 d8 mov %rbx,%rax
26: 48 c1 e8 03 shr $0x3,%rax
* 2a: 42 80 3c 38 00 cmpb $0x0,(%rax,%r15,1) <-- trapping instruction
2f: 74 08 je 0x39
31: 48 89 df mov %rbx,%rdi
34: e8 1c 70 92 fe call 0xfe927055
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.