BUG: workqueue leaked atomic, lock or RCU: kworker/NUM:NUM[NUM] (2)

Status: moderation: reported on 2026/09/05 13:06
Subsystems: usb
[Documentation on labels]
Reported-by: syzbot+e0bfc21248d7caa1f055@syzkaller.appspotmail.com
First crash: 4d04h, last: 4d04h
✨ AI Jobs (2)
ID Workflow Result Correct Bug Created Started Finished Revision
16d0184f assessment-security 💥 BUG: workqueue leaked atomic, lock or RCU: kworker/NUM:NUM[NUM] (2) 2026/09/04 04:33 2026/09/04 04:33 2026/09/04 04:33 d2e5fb95
7d7cde3d assessment-security 💥 BUG: workqueue leaked atomic, lock or RCU: kworker/NUM:NUM[NUM] (2) 2026/09/03 00:58 2026/09/03 00:58 2026/09/03 00:58 9941e97d
Similar bugs (1)
Kernel Title Rank 🛈 Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream BUG: workqueue leaked atomic, lock or RCU: kworker/NUM:NUM[NUM] usb media -1 5 599d 684d 0/29 auto-obsoleted due to no activity on 2025/04/24 17:35

Sample crash report:
BUG: workqueue leaked atomic, lock or RCU: kworker/2:6[9740]
     preempt=0x00000101 lock=4->0 RCU=0->0 workfn=usb_giveback_urb_bh
INFO: lockdep is turned off.
CPU: 2 UID: 0 PID: 9740 Comm: kworker/2:6 Tainted: G             L      syzkaller #0 PREEMPT(full) 
Tainted: [L]=SOFTLOCKUP
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
Workqueue: usb_hub_wq hub_event
Call Trace:
 <IRQ>
 __dump_stack lib/dump_stack.c:94 [inline]
 dump_stack_lvl+0x100/0x190 lib/dump_stack.c:120
 process_one_work.cold+0x16d/0x2f2 kernel/workqueue.c:3417
 process_scheduled_works kernel/workqueue.c:3479 [inline]
 bh_worker+0x6a5/0x8f0 kernel/workqueue.c:3782
 workqueue_softirq_action+0x14a/0x1b0 kernel/workqueue.c:3810
 tasklet_action+0x14/0x70 kernel/softirq.c:997
 handle_softirqs+0x1e6/0x9d0 kernel/softirq.c:645
 __do_softirq kernel/softirq.c:679 [inline]
 invoke_softirq kernel/softirq.c:519 [inline]
 __irq_exit_rcu+0x194/0x210 kernel/softirq.c:767
 irq_exit_rcu+0x9/0x30 kernel/softirq.c:784
 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1062 [inline]
 sysvec_apic_timer_interrupt+0xa3/0xc0 arch/x86/kernel/apic/apic.c:1062
 </IRQ>
 <TASK>
 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:674
RIP: 0010:__raw_spin_unlock_irq include/linux/spinlock_api_smp.h:220 [inline]
RIP: 0010:_raw_spin_unlock_irq+0x29/0x50 kernel/locking/spinlock.c:229
Code: 90 f3 0f 1e fa 53 48 8b 74 24 08 48 89 fb 48 83 c7 18 e8 ea 66 16 f6 48 89 df e8 12 bd 16 f6 e8 fd 5f 43 f6 fb bf 01 00 00 00 <e8> e2 c3 05 f6 65 48 83 3d f1 55 bb 08 00 74 06 5b c3 cc cc cc cc
RSP: 0018:ffffc90003a276d8 EFLAGS: 00000206
RAX: 000000000001a94b RBX: ffffffff902871c0 RCX: 0000000000000040
RDX: 0000000000000001 RSI: ffffffff8e3ef999 RDI: 0000000000000001
RBP: ffff888025c09118 R08: 0000000000000001 R09: 0000000000000000
R10: 0000000000000001 R11: 0000000000000000 R12: ffff888024910078
R13: 0000000000000000 R14: ffff8880249ba000 R15: ffff888025c09120
 spin_unlock_irq include/linux/spinlock.h:413 [inline]
 rh_call_control drivers/usb/core/hcd.c:707 [inline]
 rh_urb_enqueue drivers/usb/core/hcd.c:817 [inline]
 usb_hcd_submit_urb+0xac3/0x2150 drivers/usb/core/hcd.c:1538
 usb_submit_urb+0x827/0x19b0 drivers/usb/core/urb.c:586
 usb_start_wait_urb+0x10e/0x580 drivers/usb/core/message.c:62
 usb_internal_control_msg drivers/usb/core/message.c:117 [inline]
 usb_control_msg+0x328/0x4b0 drivers/usb/core/message.c:167
 usb_clear_port_feature drivers/usb/core/hub.c:456 [inline]
 port_event drivers/usb/core/hub.c:5778 [inline]
 hub_event+0x1294/0x4420 drivers/usb/core/hub.c:5966
 process_one_work+0xac7/0x1b10 kernel/workqueue.c:3396
 process_scheduled_works kernel/workqueue.c:3479 [inline]
 worker_thread+0x5ef/0xe50 kernel/workqueue.c:3560
 kthread+0x373/0x450 kernel/kthread.c:436
 ret_from_fork+0x730/0xd60 arch/x86/kernel/process.c:158
 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245
 </TASK>
----------------
Code disassembly (best guess):
   0:	90                   	nop
   1:	f3 0f 1e fa          	endbr64
   5:	53                   	push   %rbx
   6:	48 8b 74 24 08       	mov    0x8(%rsp),%rsi
   b:	48 89 fb             	mov    %rdi,%rbx
   e:	48 83 c7 18          	add    $0x18,%rdi
  12:	e8 ea 66 16 f6       	call   0xf6166701
  17:	48 89 df             	mov    %rbx,%rdi
  1a:	e8 12 bd 16 f6       	call   0xf616bd31
  1f:	e8 fd 5f 43 f6       	call   0xf6436021
  24:	fb                   	sti
  25:	bf 01 00 00 00       	mov    $0x1,%edi
* 2a:	e8 e2 c3 05 f6       	call   0xf605c411 <-- trapping instruction
  2f:	65 48 83 3d f1 55 bb 	cmpq   $0x0,%gs:0x8bb55f1(%rip)        # 0x8bb5629
  36:	08 00
  38:	74 06                	je     0x40
  3a:	5b                   	pop    %rbx
  3b:	c3                   	ret
  3c:	cc                   	int3
  3d:	cc                   	int3
  3e:	cc                   	int3
  3f:	cc                   	int3

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2026/09/01 13:00 upstream abdf623ddb75 316d9396 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream-386 BUG: workqueue leaked atomic, lock or RCU: kworker/NUM:NUM[NUM]
* Struck through repros no longer work on HEAD.