cm109 4-1:0.8: cm109_urb_irq_callback: urb status -71
------------[ cut here ]------------
URB ffff88802749c000 submitted while active
WARNING: drivers/usb/core/urb.c:379 at usb_submit_urb+0xfc1/0x1830 drivers/usb/core/urb.c:379, CPU#0: syz.3.3022/17639
Modules linked in:
CPU: 0 UID: 0 PID: 17639 Comm: syz.3.3022 Not tainted 6.16.0-rc6-next-20250714-syzkaller #0 PREEMPT(full)
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025
RIP: 0010:usb_submit_urb+0xfc1/0x1830 drivers/usb/core/urb.c:379
Code: 44 89 f2 e8 91 58 02 fa e9 13 fc ff ff e8 d7 92 95 fa c6 05 1c 5c 62 08 01 90 48 c7 c7 00 10 35 8c 48 89 de e8 60 5d 59 fa 90 <0f> 0b 90 90 e9 b7 f0 ff ff e8 b1 92 95 fa eb 11 e8 aa 92 95 fa bd
RSP: 0018:ffffc900000077b8 EFLAGS: 00010046
RAX: aa16791a3b3bda00 RBX: ffff88802749c000 RCX: 0000000000040000
RDX: ffffc90002181000 RSI: 0000000000004eab RDI: 0000000000004eac
RBP: 000000000000000f R08: 0000000000000003 R09: 0000000000000004
R10: dffffc0000000000 R11: fffffbfff1bfa940 R12: dffffc0000000000
R13: ffff88803e326830 R14: ffff88802749c008 R15: 0000000000000820
FS: 000055558b0e1500(0000) GS:ffff888125bed000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000001b2ed06ff8 CR3: 0000000031818000 CR4: 00000000003526f0
Call Trace:
cm109_submit_ctl drivers/input/misc/cm109.c:380 [inline]
cm109_urb_irq_callback+0x718/0xc80 drivers/input/misc/cm109.c:431
__usb_hcd_giveback_urb+0x41a/0x690 drivers/usb/core/hcd.c:1663
dummy_timer+0x862/0x4550 drivers/usb/gadget/udc/dummy_hcd.c:1995
__run_hrtimer kernel/time/hrtimer.c:1761 [inline]
__hrtimer_run_queues+0x529/0xc60 kernel/time/hrtimer.c:1825
hrtimer_run_softirq+0x187/0x2b0 kernel/time/hrtimer.c:1842
handle_softirqs+0x283/0x870 kernel/softirq.c:579
__do_softirq kernel/softirq.c:613 [inline]
invoke_softirq kernel/softirq.c:453 [inline]
__irq_exit_rcu+0xca/0x1f0 kernel/softirq.c:680
irq_exit_rcu+0x9/0x30 kernel/softirq.c:696
instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1050 [inline]
sysvec_apic_timer_interrupt+0xa6/0xc0 arch/x86/kernel/apic/apic.c:1050
asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:702
RIP: 0010:__raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:152 [inline]
RIP: 0010:_raw_spin_unlock_irqrestore+0xa8/0x110 kernel/locking/spinlock.c:194
Code: 74 05 e8 7b 93 4d f6 48 c7 44 24 20 00 00 00 00 9c 8f 44 24 20 f6 44 24 21 02 75 4f f7 c3 00 02 00 00 74 01 fb bf 01 00 00 00 53 93 16 f6 65 8b 05 3c 6a 29 07 85 c0 74 40 48 c7 04 24 0e 36
RSP: 0018:ffffc90003b2fae0 EFLAGS: 00000206
RAX: aa16791a3b3bda00 RBX: 0000000000000a06 RCX: aa16791a3b3bda00
RDX: 0000000000000006 RSI: ffffffff8d98febb RDI: 0000000000000001
RBP: ffffc90003b2fb68 R08: ffffffff8fa29637 R09: 1ffffffff1f452c6
R10: dffffc0000000000 R11: fffffbfff1f452c7 R12: dffffc0000000000
R13: 1ffff1102896317f R14: ffff888144b18000 R15: 1ffff92000765f5c
spin_unlock_irqrestore include/linux/spinlock.h:406 [inline]
dummy_pullup+0x18c/0x200 drivers/usb/gadget/udc/dummy_hcd.c:926
usb_gadget_disconnect_locked+0x140/0x4b0 drivers/usb/gadget/udc/core.c:777
gadget_unbind_driver+0xc4/0x430 drivers/usb/gadget/udc/core.c:1666
device_remove drivers/base/dd.c:569 [inline]
__device_release_driver drivers/base/dd.c:1274 [inline]
device_release_driver_internal+0x46c/0x800 drivers/base/dd.c:1297
driver_detach+0x1f3/0x2d0 drivers/base/dd.c:1360
bus_remove_driver+0x226/0x2f0 drivers/base/bus.c:747
usb_gadget_unregister_driver+0x4e/0x70 drivers/usb/gadget/udc/core.c:1732
raw_release+0xd7/0x260 drivers/usb/gadget/legacy/raw_gadget.c:462
__fput+0x44c/0xa70 fs/file_table.c:468
task_work_run+0x1d1/0x260 kernel/task_work.c:227
resume_user_mode_work include/linux/resume_user_mode.h:50 [inline]
exit_to_user_mode_loop+0xec/0x110 kernel/entry/common.c:43
exit_to_user_mode_prepare include/linux/irq-entry-common.h:208 [inline]
syscall_exit_to_user_mode_work include/linux/entry-common.h:175 [inline]
syscall_exit_to_user_mode include/linux/entry-common.h:210 [inline]
do_syscall_64+0x2bd/0x3b0 arch/x86/entry/syscall_64.c:100
entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7f2be3d8e929
Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 a8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007ffe37a8db48 EFLAGS: 00000246 ORIG_RAX: 00000000000001b4
RAX: 0000000000000000 RBX: 000000000010e0f5 RCX: 00007f2be3d8e929
RDX: 0000000000000000 RSI: 000000000000001e RDI: 0000000000000003
RBP: 00007f2be3fb7ba0 R08: 0000000000000001 R09: 0000001737a8de3f
R10: 00007f2be3c00000 R11: 0000000000000246 R12: 00007f2be3fb5fac
R13: 00007f2be3fb5fa0 R14: ffffffffffffffff R15: 00007ffe37a8dc60
----------------
Code disassembly (best guess):
0: 74 05 je 0x7
2: e8 7b 93 4d f6 call 0xf64d9382
7: 48 c7 44 24 20 00 00 movq $0x0,0x20(%rsp)
e: 00 00
10: 9c pushf
11: 8f 44 24 20 pop 0x20(%rsp)
15: f6 44 24 21 02 testb $0x2,0x21(%rsp)
1a: 75 4f jne 0x6b
1c: f7 c3 00 02 00 00 test $0x200,%ebx
22: 74 01 je 0x25
24: fb sti
25: bf 01 00 00 00 mov $0x1,%edi
* 2a: e8 53 93 16 f6 call 0xf6169382 <-- trapping instruction
2f: 65 8b 05 3c 6a 29 07 mov %gs:0x7296a3c(%rip),%eax # 0x7296a72
36: 85 c0 test %eax,%eax
38: 74 40 je 0x7a
3a: 48 rex.W
3b: c7 .byte 0xc7
3c: 04 24 add $0x24,%al
3e: 0e (bad)
3f: 36 ss