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