BUG: sleeping function called from invalid context at kernel/workqueue.c:3414 in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 14823, name: kworker/0:1 preempt_count: 101, expected: 0 RCU nest depth: 0, expected: 0 4 locks held by kworker/0:1/14823: #0: ffff888147644938 ((wq_completion)usb_hub_wq){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:2632 [inline] #0: ffff888147644938 ((wq_completion)usb_hub_wq){+.+.}-{0:0}, at: process_scheduled_works+0x975/0x1600 kernel/workqueue.c:2734 #1: ffffc900038e7d00 ((work_completion)(&hub->events)){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:2632 [inline] #1: ffffc900038e7d00 ((work_completion)(&hub->events)){+.+.}-{0:0}, at: process_scheduled_works+0x975/0x1600 kernel/workqueue.c:2734 #2: ffff8881437bc1d8 (&dev->mutex){....}-{3:3}, at: device_lock include/linux/device.h:1094 [inline] #2: ffff8881437bc1d8 (&dev->mutex){....}-{3:3}, at: hub_event+0x188/0x4a80 drivers/usb/core/hub.c:5866 #3: ffffc90000007be0 ((&vub300->inactivity_timer)){+.-.}-{0:0}, at: call_timer_fn+0xd2/0x540 kernel/time/timer.c:1698 Preemption disabled at: [] vprintk_emit+0x146/0x610 kernel/printk/printk.c:2333 CPU: 0 PID: 14823 Comm: kworker/0:1 Not tainted syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/16/2026 Workqueue: usb_hub_wq hub_event Call Trace: dump_stack_lvl+0x18c/0x250 lib/dump_stack.c:106 __might_resched+0x48d/0x5f0 kernel/sched/core.c:10212 start_flush_work kernel/workqueue.c:3414 [inline] __flush_work+0x10f/0xac0 kernel/workqueue.c:3474 __cancel_work_timer+0x3f8/0x560 kernel/workqueue.c:3562 mmc_free_host+0x19/0x30 drivers/mmc/core/host.c:694 call_timer_fn+0x189/0x540 kernel/time/timer.c:1701 expire_timers kernel/time/timer.c:1752 [inline] __run_timers+0x570/0x810 kernel/time/timer.c:2023 run_timer_softirq+0x67/0xf0 kernel/time/timer.c:2036 handle_softirqs+0x27d/0x820 kernel/softirq.c:578 __do_softirq kernel/softirq.c:612 [inline] invoke_softirq kernel/softirq.c:452 [inline] __irq_exit_rcu+0xd3/0x190 kernel/softirq.c:661 irq_exit_rcu+0x9/0x20 kernel/softirq.c:673 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1088 [inline] sysvec_apic_timer_interrupt+0xa4/0xc0 arch/x86/kernel/apic/apic.c:1088 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:687 RIP: 0010:console_flush_all+0x883/0xcf0 arch/x86/include/asm/irqflags.h:-1 Code: ed 01 00 00 e8 be 85 1b 00 4d 85 ff 48 8b 5c 24 38 75 07 e8 af 85 1b 00 eb 06 e8 a8 85 1b 00 fb 49 bf 00 00 00 00 00 fc ff df <48> 8b 44 24 58 42 0f b6 04 38 84 c0 0f 85 2f 02 00 00 80 3b 01 0f RSP: 0018:ffffc900038e6e60 EFLAGS: 00000283 RAX: ffffffff816c05a8 RBX: ffffc900038e6fdf RCX: 0000000000100000 RDX: ffffc90017218000 RSI: 000000000002d966 RDI: 000000000002d967 RBP: ffffc900038e6fb0 R08: ffffffff911eb577 R09: 1ffffffff223d6ae R10: dffffc0000000000 R11: fffffbfff223d6af R12: ffffffff8d8ce340 R13: 1ffffffff19f9740 R14: ffffffff8d8ce398 R15: dffffc0000000000 console_unlock+0xad/0x350 kernel/printk/printk.c:3069 vprintk_emit+0x497/0x610 kernel/printk/printk.c:2341 dev_vprintk_emit+0x339/0x3f0 drivers/base/core.c:4970 dev_printk_emit+0xef/0x140 drivers/base/core.c:4981 _dev_notice+0x11f/0x170 drivers/base/core.c:5038 usb_parse_configuration drivers/usb/core/config.c:839 [inline] usb_get_configuration+0x4a80/0x5300 drivers/usb/core/config.c:973 usb_enumerate_device drivers/usb/core/hub.c:2497 [inline] usb_new_device+0x136/0x1550 drivers/usb/core/hub.c:2635 hub_port_connect drivers/usb/core/hub.c:5534 [inline] hub_port_connect_change drivers/usb/core/hub.c:5674 [inline] port_event drivers/usb/core/hub.c:5838 [inline] hub_event+0x29d5/0x4a80 drivers/usb/core/hub.c:5920 process_one_work kernel/workqueue.c:2657 [inline] process_scheduled_works+0xa60/0x1600 kernel/workqueue.c:2734 worker_thread+0xa5e/0xfe0 kernel/workqueue.c:2815 kthread+0x2fa/0x390 kernel/kthread.c:388 ret_from_fork+0x48/0x80 arch/x86/kernel/process.c:152 ret_from_fork_asm+0x11/0x20 arch/x86/entry/entry_64.S:293 ODEBUG: object ffffc900000079c0 is NOT on stack ffffc900038e0000, but annotated. ====================================================== ---------------- Code disassembly (best guess): 0: ed in (%dx),%eax 1: 01 00 add %eax,(%rax) 3: 00 e8 add %ch,%al 5: be 85 1b 00 4d mov $0x4d001b85,%esi a: 85 ff test %edi,%edi c: 48 8b 5c 24 38 mov 0x38(%rsp),%rbx 11: 75 07 jne 0x1a 13: e8 af 85 1b 00 call 0x1b85c7 18: eb 06 jmp 0x20 1a: e8 a8 85 1b 00 call 0x1b85c7 1f: fb sti 20: 49 bf 00 00 00 00 00 movabs $0xdffffc0000000000,%r15 27: fc ff df * 2a: 48 8b 44 24 58 mov 0x58(%rsp),%rax <-- trapping instruction 2f: 42 0f b6 04 38 movzbl (%rax,%r15,1),%eax 34: 84 c0 test %al,%al 36: 0f 85 2f 02 00 00 jne 0x26b 3c: 80 3b 01 cmpb $0x1,(%rbx) 3f: 0f .byte 0xf