BUG: workqueue leaked atomic, lock or RCU: syz.0.12579[32022]
preempt=0x00000101 lock=2->0 RCU=0->0 workfn=usb_giveback_urb_bh
INFO: lockdep is turned off.
CPU: 1 UID: 0 PID: 32022 Comm: syz.0.12579 Not tainted 6.12.0-rc7-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/30/2024
Call Trace:
__dump_stack lib/dump_stack.c:94 [inline]
dump_stack_lvl+0x241/0x360 lib/dump_stack.c:120
process_one_work kernel/workqueue.c:3250 [inline]
process_scheduled_works+0x1158/0x1850 kernel/workqueue.c:3310
bh_worker+0x2a5/0x620 kernel/workqueue.c:3570
tasklet_action+0xc/0x70 kernel/softirq.c:809
handle_softirqs+0x2c5/0x980 kernel/softirq.c:554
__do_softirq kernel/softirq.c:588 [inline]
invoke_softirq kernel/softirq.c:428 [inline]
__irq_exit_rcu+0xf4/0x1c0 kernel/softirq.c:637
irq_exit_rcu+0x9/0x30 kernel/softirq.c:649
instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1049 [inline]
sysvec_apic_timer_interrupt+0xa6/0xc0 arch/x86/kernel/apic/apic.c:1049
asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:702
RIP: 0010:__raw_spin_unlock_irq include/linux/spinlock_api_smp.h:160 [inline]
RIP: 0010:_raw_spin_unlock_irq+0x29/0x50 kernel/locking/spinlock.c:202
Code: 90 f3 0f 1e fa 53 48 89 fb 48 83 c7 18 48 8b 74 24 08 e8 4a cc a7 f5 48 89 df e8 62 12 a9 f5 e8 ed fe d3 f5 fb bf 01 00 00 00 e2 8d 9a f5 65 8b 05 c3 35 3b 74 85 c0 74 06 5b c3 cc cc cc cc
RSP: 0018:ffffc9000c44f330 EFLAGS: 00000286
RAX: 6aa3b01f9c4e4100 RBX: ffffffff8f595820 RCX: ffffffff8170bf4a
RDX: dffffc0000000000 RSI: ffffffff8c0acaa0 RDI: 0000000000000001
RBP: ffffc9000c44f4b0 R08: ffffffff94298927 R09: 1ffffffff2853124
R10: dffffc0000000000 R11: fffffbfff2853125 R12: 0000000000000000
R13: dffffc0000000000 R14: ffff888145365000 R15: ffff88802179d100
spin_unlock_irq include/linux/spinlock.h:401 [inline]
rh_call_control drivers/usb/core/hcd.c:712 [inline]
rh_urb_enqueue drivers/usb/core/hcd.c:821 [inline]
usb_hcd_submit_urb+0xaaf/0x1e80 drivers/usb/core/hcd.c:1529
usb_start_wait_urb+0x113/0x520 drivers/usb/core/message.c:59
usb_internal_control_msg drivers/usb/core/message.c:103 [inline]
usb_control_msg+0x2b1/0x4c0 drivers/usb/core/message.c:154
usb_port_resume+0x49e/0x2210
usb_generic_driver_resume+0x4d/0x90 drivers/usb/core/generic.c:321
usb_resume_device drivers/usb/core/driver.c:1309 [inline]
usb_resume_both+0x345/0xad0 drivers/usb/core/driver.c:1533
__rpm_callback+0x2df/0x790 drivers/base/power/runtime.c:394
rpm_callback drivers/base/power/runtime.c:448 [inline]
rpm_resume+0xfca/0x1670 drivers/base/power/runtime.c:914
rpm_resume+0x8fe/0x1670 drivers/base/power/runtime.c:892
__pm_runtime_resume+0x120/0x180 drivers/base/power/runtime.c:1172
pm_runtime_resume_and_get include/linux/pm_runtime.h:430 [inline]
usb_autopm_get_interface+0x22/0xf0 drivers/usb/core/driver.c:1833
wdm_manage_power+0x1c/0xa0 drivers/usb/class/cdc-wdm.c:1134
wdm_release+0x20f/0x460 drivers/usb/class/cdc-wdm.c:779
__fput+0x23f/0x880 fs/file_table.c:431
task_work_run+0x24f/0x310 kernel/task_work.c:239
resume_user_mode_work include/linux/resume_user_mode.h:50 [inline]
exit_to_user_mode_loop kernel/entry/common.c:114 [inline]
exit_to_user_mode_prepare include/linux/entry-common.h:328 [inline]
__syscall_exit_to_user_mode_work kernel/entry/common.c:207 [inline]
syscall_exit_to_user_mode+0x168/0x370 kernel/entry/common.c:218
do_syscall_64+0x100/0x230 arch/x86/entry/common.c:89
entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7f3b40f7e719
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:00007fff6da452c8 EFLAGS: 00000246 ORIG_RAX: 00000000000001b4
RAX: 0000000000000000 RBX: 00007f3b41137a80 RCX: 00007f3b40f7e719
RDX: 0000000000000000 RSI: 000000000000001e RDI: 0000000000000003
RBP: 00007f3b41137a80 R08: 0000000000000006 R09: 00007fff6da455bf
R10: 00000000005eadf4 R11: 0000000000000246 R12: 00000000000a3986
R13: 00007fff6da453d0 R14: 0000000000000032 R15: ffffffffffffffff
----------------
Code disassembly (best guess):
0: 90 nop
1: f3 0f 1e fa endbr64
5: 53 push %rbx
6: 48 89 fb mov %rdi,%rbx
9: 48 83 c7 18 add $0x18,%rdi
d: 48 8b 74 24 08 mov 0x8(%rsp),%rsi
12: e8 4a cc a7 f5 call 0xf5a7cc61
17: 48 89 df mov %rbx,%rdi
1a: e8 62 12 a9 f5 call 0xf5a91281
1f: e8 ed fe d3 f5 call 0xf5d3ff11
24: fb sti
25: bf 01 00 00 00 mov $0x1,%edi
* 2a: e8 e2 8d 9a f5 call 0xf59a8e11 <-- trapping instruction
2f: 65 8b 05 c3 35 3b 74 mov %gs:0x743b35c3(%rip),%eax # 0x743b35f9
36: 85 c0 test %eax,%eax
38: 74 06 je 0x40
3a: 5b pop %rbx
3b: c3 ret
3c: cc int3
3d: cc int3
3e: cc int3
3f: cc int3