BUG: sleeping function called from invalid context at drivers/usb/core/urb.c:705 in_atomic(): 1, irqs_disabled(): 1, non_block: 0, pid: 5221, name: kworker/0:3 preempt_count: 100, expected: 0 RCU nest depth: 0, expected: 0 5 locks held by kworker/0:3/5221: #0: ffff888102ac1548 ((wq_completion)usb_hub_wq){+.+.}-{0:0}, at: process_one_work+0x1310/0x19a0 kernel/workqueue.c:3251 #1: ffffc9000391fd18 ((work_completion)(&hub->events)){+.+.}-{0:0}, at: process_one_work+0x988/0x19a0 kernel/workqueue.c:3252 #2: ffff88810c7221e0 (&dev->mutex){....}-{4:4}, at: device_lock include/linux/device.h:949 [inline] #2: ffff88810c7221e0 (&dev->mutex){....}-{4:4}, at: hub_event+0x1bd/0x4af0 drivers/usb/core/hub.c:5899 #3: ffff88811e7321e0 (&dev->mutex){....}-{4:4}, at: device_lock include/linux/device.h:949 [inline] #3: ffff88811e7321e0 (&dev->mutex){....}-{4:4}, at: usb_disconnect+0x10a/0x9a0 drivers/usb/core/hub.c:2336 #4: ffff888101298188 (&root->kernfs_rwsem){++++}-{4:4}, at: kernfs_remove_by_name_ns+0x3d/0xf0 fs/kernfs/dir.c:1717 irq event stamp: 344217 hardirqs last enabled at (344216): [] __raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:178 [inline] hardirqs last enabled at (344216): [] _raw_spin_unlock_irqrestore+0x52/0x80 kernel/locking/spinlock.c:194 hardirqs last disabled at (344217): [] __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:130 [inline] hardirqs last disabled at (344217): [] _raw_spin_lock_irqsave+0x52/0x60 kernel/locking/spinlock.c:162 softirqs last enabled at (344196): [] __do_softirq kernel/softirq.c:656 [inline] softirqs last enabled at (344196): [] invoke_softirq kernel/softirq.c:496 [inline] softirqs last enabled at (344196): [] __irq_exit_rcu+0xed/0x150 kernel/softirq.c:723 softirqs last disabled at (344213): [] __do_softirq kernel/softirq.c:656 [inline] softirqs last disabled at (344213): [] invoke_softirq kernel/softirq.c:496 [inline] softirqs last disabled at (344213): [] __irq_exit_rcu+0xed/0x150 kernel/softirq.c:723 Preemption disabled at: [] softirq_handle_begin kernel/softirq.c:463 [inline] [] handle_softirqs+0xf5/0x9d0 kernel/softirq.c:598 CPU: 0 UID: 0 PID: 5221 Comm: kworker/0:3 Not tainted syzkaller #0 PREEMPT(full) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/18/2026 Workqueue: usb_hub_wq hub_event Call Trace: __dump_stack lib/dump_stack.c:94 [inline] dump_stack_lvl+0x100/0x190 lib/dump_stack.c:120 __might_resched.cold+0x1ec/0x232 kernel/sched/core.c:8888 usb_kill_urb+0x8e/0x320 drivers/usb/core/urb.c:705 usb_tx_block+0x91/0x320 drivers/net/wireless/marvell/libertas/if_usb.c:429 if_usb_send_fw_pkt.isra.0+0x2e4/0x550 drivers/net/wireless/marvell/libertas/if_usb.c:366 if_usb_receive_fwload+0x5d3/0x780 drivers/net/wireless/marvell/libertas/if_usb.c:592 __usb_hcd_giveback_urb+0x38d/0x610 drivers/usb/core/hcd.c:1657 usb_hcd_giveback_urb+0x3ca/0x4a0 drivers/usb/core/hcd.c:1741 dummy_timer+0xda1/0x36c0 drivers/usb/gadget/udc/dummy_hcd.c:2005 __run_hrtimer kernel/time/hrtimer.c:1785 [inline] __hrtimer_run_queues+0x50e/0xa70 kernel/time/hrtimer.c:1849 hrtimer_run_softirq+0x17d/0x350 kernel/time/hrtimer.c:1866 handle_softirqs+0x1de/0x9d0 kernel/softirq.c:622 __do_softirq kernel/softirq.c:656 [inline] invoke_softirq kernel/softirq.c:496 [inline] __irq_exit_rcu+0xed/0x150 kernel/softirq.c:723 irq_exit_rcu+0x9/0x30 kernel/softirq.c:739 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1056 [inline] sysvec_apic_timer_interrupt+0x8f/0xb0 arch/x86/kernel/apic/apic.c:1056 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:697 RIP: 0010:lock_is_held_type+0xf5/0x140 kernel/locking/lockdep.c:5945 Code: ff ff ff ff 65 0f c1 15 81 c8 8b 05 83 fa 01 8b 44 24 04 75 2d 9c 5a 80 e6 02 75 47 41 f7 c5 00 02 00 00 74 01 fb 48 83 c4 08 <5b> 5d 41 5c 41 5d 41 5e 41 5f e9 0c df 02 00 e9 07 df 02 00 31 c0 RSP: 0018:ffffc9000391f618 EFLAGS: 00000286 RAX: 0000000000000001 RBX: ffff888101298188 RCX: 0000000000000001 RDX: 0000000000000046 RSI: ffffffff890036c1 RDI: ffffffff87afd320 RBP: ffff888119699d80 R08: 0000000000000001 R09: 0000000000000000 R10: 0000000000000001 R11: 0000000000000000 R12: 0000000000000000 R13: 0000000000000246 R14: ffff88811969a8f0 R15: 0000000000000004 kernfs_next_descendant_post+0x203/0x4b0 fs/kernfs/dir.c:1378 __kernfs_remove+0x120/0x910 fs/kernfs/dir.c:1495 kernfs_remove_by_name_ns+0x68/0xf0 fs/kernfs/dir.c:1722 kernfs_remove_by_name include/linux/kernfs.h:633 [inline] remove_files+0x96/0x1c0 fs/sysfs/group.c:28 sysfs_remove_group+0x8b/0x1b0 fs/sysfs/group.c:328 sysfs_remove_groups fs/sysfs/group.c:352 [inline] sysfs_remove_groups+0x60/0xb0 fs/sysfs/group.c:344 device_remove_groups drivers/base/core.c:2844 [inline] device_remove_attrs+0x192/0x290 drivers/base/core.c:2974 device_del+0x36e/0x9b0 drivers/base/core.c:3879 device_unregister+0x1d/0xe0 drivers/base/core.c:3921 usb_remove_ep_devs+0x42/0x90 drivers/usb/core/endpoint.c:181 remove_intf_ep_devs drivers/usb/core/message.c:1326 [inline] usb_disable_device+0x319/0x810 drivers/usb/core/message.c:1477 usb_disconnect+0x2e2/0x9a0 drivers/usb/core/hub.c:2345 hub_port_connect drivers/usb/core/hub.c:5407 [inline] hub_port_connect_change drivers/usb/core/hub.c:5707 [inline] port_event drivers/usb/core/hub.c:5871 [inline] hub_event+0x1d0c/0x4af0 drivers/usb/core/hub.c:5953 process_one_work+0xa23/0x19a0 kernel/workqueue.c:3276 process_scheduled_works kernel/workqueue.c:3359 [inline] worker_thread+0x5ef/0xe50 kernel/workqueue.c:3440 kthread+0x370/0x450 kernel/kthread.c:436 ret_from_fork+0x6c3/0xcb0 arch/x86/kernel/process.c:158 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245 BUG: scheduling while atomic: kworker/0:3/5221/0x00000101 5 locks held by kworker/0:3/5221: #0: ffff888102ac1548 ((wq_completion)usb_hub_wq){+.+.}-{0:0}, at: process_one_work+0x1310/0x19a0 kernel/workqueue.c:3251 #1: ffffc9000391fd18 ((work_completion)(&hub->events)){+.+.}-{0:0}, at: process_one_work+0x988/0x19a0 kernel/workqueue.c:3252 #2: ffff88810c7221e0 (&dev->mutex){....}-{4:4}, at: device_lock include/linux/device.h:949 [inline] #2: ffff88810c7221e0 (&dev->mutex){....}-{4:4}, at: hub_event+0x1bd/0x4af0 drivers/usb/core/hub.c:5899 #3: ffff88811e7321e0 (&dev->mutex){....}-{4:4}, at: device_lock include/linux/device.h:949 [inline] #3: ffff88811e7321e0 (&dev->mutex){....}-{4:4}, at: usb_disconnect+0x10a/0x9a0 drivers/usb/core/hub.c:2336 #4: ffff888101298188 (&root->kernfs_rwsem){++++}-{4:4}, at: kernfs_remove_by_name_ns+0x3d/0xf0 fs/kernfs/dir.c:1717 Modules linked in: Preemption disabled at: [] softirq_handle_begin kernel/softirq.c:463 [inline] [] handle_softirqs+0xf5/0x9d0 kernel/softirq.c:598 ---------------- Code disassembly (best guess), 3 bytes skipped: 0: ff 65 0f jmp *0xf(%rbp) 3: c1 15 81 c8 8b 05 83 rcll $0x83,0x58bc881(%rip) # 0x58bc88b a: fa cli b: 01 8b 44 24 04 75 add %ecx,0x75042444(%rbx) 11: 2d 9c 5a 80 e6 sub $0xe6805a9c,%eax 16: 02 75 47 add 0x47(%rbp),%dh 19: 41 f7 c5 00 02 00 00 test $0x200,%r13d 20: 74 01 je 0x23 22: fb sti 23: 48 83 c4 08 add $0x8,%rsp * 27: 5b pop %rbx <-- trapping instruction 28: 5d pop %rbp 29: 41 5c pop %r12 2b: 41 5d pop %r13 2d: 41 5e pop %r14 2f: 41 5f pop %r15 31: e9 0c df 02 00 jmp 0x2df42 36: e9 07 df 02 00 jmp 0x2df42 3b: 31 c0 xor %eax,%eax