================================ WARNING: inconsistent lock state syzkaller #0 Not tainted -------------------------------- inconsistent {SOFTIRQ-ON-W} -> {IN-SOFTIRQ-W} usage. syz.1.17/4408 [HC0[0]:SC1[1]:HE1:SE0] takes: ffff8880543c0648 ((work_completion)(&(&host->detect)->work)){+.?.}-{0:0}, at: __flush_work+0x109/0xac0 kernel/workqueue.c:3072 {SOFTIRQ-ON-W} state was registered at: lock_acquire+0x1bb/0x4a0 kernel/locking/lockdep.c:5678 __flush_work+0x122/0xac0 kernel/workqueue.c:3072 __cancel_work_timer+0x3f4/0x560 kernel/workqueue.c:3163 __mmc_stop_host drivers/mmc/core/core.c:2303 [inline] mmc_stop_host+0xd5/0x460 drivers/mmc/core/core.c:2308 mmc_remove_host+0x11/0x60 drivers/mmc/core/host.c:651 vub300_disconnect+0x14b/0x2e0 drivers/mmc/host/vub300.c:2388 usb_unbind_interface+0x200/0x870 drivers/usb/core/driver.c:457 device_remove drivers/base/dd.c:549 [inline] __device_release_driver drivers/base/dd.c:1279 [inline] device_release_driver_internal+0x4cf/0x7c0 drivers/base/dd.c:1305 bus_remove_device+0x2dd/0x400 drivers/base/bus.c:531 device_del+0x63f/0xa80 drivers/base/core.c:3900 usb_disable_device+0x3e7/0x8a0 drivers/usb/core/message.c:1472 usb_disconnect+0x33c/0x8a0 drivers/usb/core/hub.c:2319 hub_port_connect drivers/usb/core/hub.c:5366 [inline] hub_port_connect_change drivers/usb/core/hub.c:5662 [inline] port_event drivers/usb/core/hub.c:5822 [inline] hub_event+0x1d27/0x5200 drivers/usb/core/hub.c:5904 process_one_work+0x8ab/0x1160 kernel/workqueue.c:2292 process_scheduled_works kernel/workqueue.c:2355 [inline] worker_thread+0xd6e/0x12a0 kernel/workqueue.c:2441 kthread+0x29d/0x330 kernel/kthread.c:376 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:295 irq event stamp: 190 hardirqs last enabled at (190): [] __cancel_work_timer+0x36a/0x560 kernel/workqueue.c:3156 hardirqs last disabled at (189): [] try_to_grab_pending+0xfa/0x890 kernel/workqueue.c:1267 softirqs last enabled at (102): [] __do_softirq kernel/softirq.c:630 [inline] softirqs last enabled at (102): [] invoke_softirq kernel/softirq.c:470 [inline] softirqs last enabled at (102): [] __irq_exit_rcu+0x13b/0x230 kernel/softirq.c:679 softirqs last disabled at (123): [] __do_softirq kernel/softirq.c:630 [inline] softirqs last disabled at (123): [] invoke_softirq kernel/softirq.c:470 [inline] softirqs last disabled at (123): [] __irq_exit_rcu+0x13b/0x230 kernel/softirq.c:679 other info that might help us debug this: Possible unsafe locking scenario: CPU0 ---- lock((work_completion)(&(&host->detect)->work)); lock((work_completion)(&(&host->detect)->work)); *** DEADLOCK *** 3 locks held by syz.1.17/4408: #0: ffff88801ce71058 (&mm->mmap_lock){++++}-{3:3}, at: mmap_read_lock include/linux/mmap_lock.h:117 [inline] #0: ffff88801ce71058 (&mm->mmap_lock){++++}-{3:3}, at: exit_mmap+0x177/0x970 mm/mmap.c:3235 #1: ffff8880b8e35898 (lock#4){+.+.}-{2:2}, at: local_lock_acquire include/linux/local_lock_internal.h:29 [inline] #1: ffff8880b8e35898 (lock#4){+.+.}-{2:2}, at: lru_add_drain+0x75/0x3e0 mm/swap.c:764 #2: ffffc90000007bc0 ((&vub300->inactivity_timer)){+.-.}-{0:0}, at: call_timer_fn+0xcf/0x670 kernel/time/timer.c:1698 stack backtrace: CPU: 0 PID: 4408 Comm: syz.1.17 Not tainted syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026 Call Trace: dump_stack_lvl+0x188/0x24e lib/dump_stack.c:106 valid_state+0x13b/0x1d0 kernel/locking/lockdep.c:3974 mark_lock_irq+0xa9/0x900 kernel/locking/lockdep.c:4177 mark_lock+0x208/0x320 kernel/locking/lockdep.c:4633 mark_usage kernel/locking/lockdep.c:-1 [inline] __lock_acquire+0xce0/0x7c40 kernel/locking/lockdep.c:5017 lock_acquire+0x1bb/0x4a0 kernel/locking/lockdep.c:5678 __flush_work+0x122/0xac0 kernel/workqueue.c:3072 __cancel_work_timer+0x3f4/0x560 kernel/workqueue.c:3163 mmc_free_host+0x15/0x30 drivers/mmc/core/host.c:672 call_timer_fn+0x1ac/0x670 kernel/time/timer.c:1701 expire_timers kernel/time/timer.c:1752 [inline] __run_timers+0x56c/0x810 kernel/time/timer.c:2023 run_timer_softirq+0x63/0xf0 kernel/time/timer.c:2036 handle_softirqs+0x291/0x910 kernel/softirq.c:596 __do_softirq kernel/softirq.c:630 [inline] invoke_softirq kernel/softirq.c:470 [inline] __irq_exit_rcu+0x13b/0x230 kernel/softirq.c:679 irq_exit_rcu+0x5/0x20 kernel/softirq.c:691 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1118 [inline] sysvec_apic_timer_interrupt+0xa0/0xc0 arch/x86/kernel/apic/apic.c:1118 asm_sysvec_apic_timer_interrupt+0x16/0x20 arch/x86/include/asm/idtentry.h:691 RIP: 0010:__raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:152 [inline] RIP: 0010:_raw_spin_unlock_irqrestore+0xbc/0x120 kernel/locking/spinlock.c:194 Code: c7 44 24 20 00 00 00 00 9c 8f 44 24 20 f7 44 24 20 00 02 00 00 41 c6 04 07 f8 75 4b f7 c3 00 02 00 00 74 01 fb bf 01 00 00 00 3f 1a 1c f7 65 8b 05 10 ca c5 75 85 c0 74 3c 48 c7 04 24 0e 36 RSP: 0018:ffffc900049e7480 EFLAGS: 00000206 RAX: dffffc0000000004 RBX: 0000000000000a06 RCX: 9d4cf47d7a1e9500 RDX: dffffc0000000000 RSI: ffffffff8a8c18a0 RDI: 0000000000000001 RBP: ffffc900049e7510 R08: ffffffff90b0f287 R09: 1ffffffff2161e50 R10: dffffc0000000000 R11: fffffbfff2161e51 R12: dffffc0000000000 R13: dffffc0000000000 R14: ffff88813fe40050 R15: 1ffff9200093ce90 spin_unlock_irqrestore include/linux/spinlock.h:406 [inline] unlock_page_lruvec_irqrestore include/linux/memcontrol.h:1611 [inline] folio_lruvec_relock_irqsave include/linux/memcontrol.h:1644 [inline] folio_batch_move_lru+0x288/0x690 mm/swap.c:237 lru_add_drain_cpu+0x10a/0x880 mm/swap.c:661 lru_add_drain+0x11d/0x3e0 mm/swap.c:765 exit_mmap+0x1e6/0x970 mm/mmap.c:3245 __mmput+0x118/0x3a0 kernel/fork.c:1210 exit_mm+0x24d/0x350 kernel/exit.c:572 do_exit+0x958/0x2570 kernel/exit.c:874 do_group_exit+0x229/0x2e0 kernel/exit.c:1030 get_signal+0x1259/0x1340 kernel/signal.c:2884 arch_do_signal_or_restart+0xc4/0x1310 arch/x86/kernel/signal.c:871 exit_to_user_mode_loop+0x70/0x110 kernel/entry/common.c:177 exit_to_user_mode_prepare+0xee/0x180 kernel/entry/common.c:213 __syscall_exit_to_user_mode_work kernel/entry/common.c:295 [inline] syscall_exit_to_user_mode+0x16/0x40 kernel/entry/common.c:306 do_syscall_64+0x58/0xa0 arch/x86/entry/common.c:82 entry_SYSCALL_64_after_hwframe+0x68/0xd2 RIP: 0033:0x7f8a5939e159 Code: Unable to access opcode bytes at 0x7f8a5939e12f. RSP: 002b:00007f8a5a1a00e8 EFLAGS: 00000246 ORIG_RAX: 00000000000000ca RAX: fffffffffffffe00 RBX: 00007f8a59625fa8 RCX: 00007f8a5939e159 RDX: 0000000000000000 RSI: 0000000000000080 RDI: 00007f8a59625fa8 RBP: 00007f8a59625fa0 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 00007f8a59626038 R14: 00007fff2c36c490 R15: 00007fff2c36c578 BUG: sleeping function called from invalid context at kernel/workqueue.c:3013 in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 4408, name: syz.1.17 preempt_count: 102, expected: 0 RCU nest depth: 0, expected: 0 INFO: lockdep is turned off. Preemption disabled at: [] lru_add_drain+0x19/0x3e0 mm/swap.c:764 CPU: 0 PID: 4408 Comm: syz.1.17 Not tainted syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026 Call Trace: dump_stack_lvl+0x188/0x24e lib/dump_stack.c:106 __might_resched+0x489/0x5f0 kernel/sched/core.c:9970 start_flush_work kernel/workqueue.c:3013 [inline] __flush_work+0x142/0xac0 kernel/workqueue.c:3075 __cancel_work_timer+0x3f4/0x560 kernel/workqueue.c:3163 mmc_free_host+0x15/0x30 drivers/mmc/core/host.c:672 call_timer_fn+0x1ac/0x670 kernel/time/timer.c:1701 expire_timers kernel/time/timer.c:1752 [inline] __run_timers+0x56c/0x810 kernel/time/timer.c:2023 run_timer_softirq+0x63/0xf0 kernel/time/timer.c:2036 handle_softirqs+0x291/0x910 kernel/softirq.c:596 __do_softirq kernel/softirq.c:630 [inline] invoke_softirq kernel/softirq.c:470 [inline] __irq_exit_rcu+0x13b/0x230 kernel/softirq.c:679 irq_exit_rcu+0x5/0x20 kernel/softirq.c:691 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1118 [inline] sysvec_apic_timer_interrupt+0xa0/0xc0 arch/x86/kernel/apic/apic.c:1118 asm_sysvec_apic_timer_interrupt+0x16/0x20 arch/x86/include/asm/idtentry.h:691 RIP: 0010:__raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:152 [inline] RIP: 0010:_raw_spin_unlock_irqrestore+0xbc/0x120 kernel/locking/spinlock.c:194 Code: c7 44 24 20 00 00 00 00 9c 8f 44 24 20 f7 44 24 20 00 02 00 00 41 c6 04 07 f8 75 4b f7 c3 00 02 00 00 74 01 fb bf 01 00 00 00 3f 1a 1c f7 65 8b 05 10 ca c5 75 85 c0 74 3c 48 c7 04 24 0e 36 RSP: 0018:ffffc900049e7480 EFLAGS: 00000206 RAX: dffffc0000000004 RBX: 0000000000000a06 RCX: 9d4cf47d7a1e9500 RDX: dffffc0000000000 RSI: ffffffff8a8c18a0 RDI: 0000000000000001 RBP: ffffc900049e7510 R08: ffffffff90b0f287 R09: 1ffffffff2161e50 R10: dffffc0000000000 R11: fffffbfff2161e51 R12: dffffc0000000000 R13: dffffc0000000000 R14: ffff88813fe40050 R15: 1ffff9200093ce90 spin_unlock_irqrestore include/linux/spinlock.h:406 [inline] unlock_page_lruvec_irqrestore include/linux/memcontrol.h:1611 [inline] folio_lruvec_relock_irqsave include/linux/memcontrol.h:1644 [inline] folio_batch_move_lru+0x288/0x690 mm/swap.c:237 lru_add_drain_cpu+0x10a/0x880 mm/swap.c:661 lru_add_drain+0x11d/0x3e0 mm/swap.c:765 exit_mmap+0x1e6/0x970 mm/mmap.c:3245 __mmput+0x118/0x3a0 kernel/fork.c:1210 exit_mm+0x24d/0x350 kernel/exit.c:572 do_exit+0x958/0x2570 kernel/exit.c:874 do_group_exit+0x229/0x2e0 kernel/exit.c:1030 get_signal+0x1259/0x1340 kernel/signal.c:2884 arch_do_signal_or_restart+0xc4/0x1310 arch/x86/kernel/signal.c:871 exit_to_user_mode_loop+0x70/0x110 kernel/entry/common.c:177 exit_to_user_mode_prepare+0xee/0x180 kernel/entry/common.c:213 __syscall_exit_to_user_mode_work kernel/entry/common.c:295 [inline] syscall_exit_to_user_mode+0x16/0x40 kernel/entry/common.c:306 do_syscall_64+0x58/0xa0 arch/x86/entry/common.c:82 entry_SYSCALL_64_after_hwframe+0x68/0xd2 RIP: 0033:0x7f8a5939e159 Code: Unable to access opcode bytes at 0x7f8a5939e12f. RSP: 002b:00007f8a5a1a00e8 EFLAGS: 00000246 ORIG_RAX: 00000000000000ca RAX: fffffffffffffe00 RBX: 00007f8a59625fa8 RCX: 00007f8a5939e159 RDX: 0000000000000000 RSI: 0000000000000080 RDI: 00007f8a59625fa8 RBP: 00007f8a59625fa0 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 00007f8a59626038 R14: 00007fff2c36c490 R15: 00007fff2c36c578 ODEBUG: object ffffc900000079a0 is NOT on stack ffffc900049e0000, but annotated. ------------[ cut here ]------------ WARNING: CPU: 0 PID: 4408 at lib/debugobjects.c:558 debug_object_is_on_stack lib/debugobjects.c:-1 [inline] WARNING: CPU: 0 PID: 4408 at lib/debugobjects.c:558 lookup_object_or_alloc lib/debugobjects.c:591 [inline] WARNING: CPU: 0 PID: 4408 at lib/debugobjects.c:558 __debug_object_init+0x18e/0x440 lib/debugobjects.c:672 Modules linked in: CPU: 0 PID: 4408 Comm: syz.1.17 Tainted: G W syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026 RIP: 0010:debug_object_is_on_stack lib/debugobjects.c:558 [inline] RIP: 0010:lookup_object_or_alloc lib/debugobjects.c:591 [inline] RIP: 0010:__debug_object_init+0x18e/0x440 lib/debugobjects.c:672 Code: 24 04 74 2f 41 ff c6 44 89 35 7e 6a dd 12 48 c7 c1 40 71 df 8a 48 c7 c7 a0 71 df 8a 84 c0 48 0f 45 f9 48 89 de e8 f2 b9 0c 06 <0f> 0b eb 05 4c 8b 7c 24 18 4d 8d 65 10 4d 89 e6 49 c1 ee 03 41 0f RSP: 0018:ffffc90000007908 EFLAGS: 00010046 RAX: 0000000000000050 RBX: ffffc900000079a0 RCX: 9d4cf47d7a1e9500 RDX: 0000000000000100 RSI: 0000000000000103 RDI: 0000000000000000 RBP: dffffc0000000000 R08: ffffc90000007587 R09: 1ffff92000000eb0 R10: dffffc0000000000 R11: fffff52000000eb1 R12: ffff8880206e3c20 R13: ffff88802343cee0 R14: 0000000000000001 R15: ffffffff8a8d3120 FS: 0000000000000000(0000) GS:ffff8880b8e00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000001b2fc1fff8 CR3: 0000000027886000 CR4: 00000000003506f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: __synchronize_srcu+0x227/0x350 kernel/rcu/srcutree.c:1241 wakeup_source_remove drivers/base/power/wakeup.c:198 [inline] wakeup_source_unregister+0x112/0x190 drivers/base/power/wakeup.c:242 mmc_host_classdev_release+0x43/0xf0 drivers/mmc/core/host.c:77 device_release+0x92/0x1c0 drivers/base/core.c:-1 kobject_cleanup lib/kobject.c:681 [inline] kobject_release lib/kobject.c:712 [inline] kref_put include/linux/kref.h:65 [inline] kobject_put+0x217/0x450 lib/kobject.c:729 call_timer_fn+0x1ac/0x670 kernel/time/timer.c:1701 expire_timers kernel/time/timer.c:1752 [inline] __run_timers+0x56c/0x810 kernel/time/timer.c:2023 run_timer_softirq+0x63/0xf0 kernel/time/timer.c:2036 handle_softirqs+0x291/0x910 kernel/softirq.c:596 __do_softirq kernel/softirq.c:630 [inline] invoke_softirq kernel/softirq.c:470 [inline] __irq_exit_rcu+0x13b/0x230 kernel/softirq.c:679 irq_exit_rcu+0x5/0x20 kernel/softirq.c:691 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1118 [inline] sysvec_apic_timer_interrupt+0xa0/0xc0 arch/x86/kernel/apic/apic.c:1118 asm_sysvec_apic_timer_interrupt+0x16/0x20 arch/x86/include/asm/idtentry.h:691 RIP: 0010:__raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:152 [inline] RIP: 0010:_raw_spin_unlock_irqrestore+0xbc/0x120 kernel/locking/spinlock.c:194 Code: c7 44 24 20 00 00 00 00 9c 8f 44 24 20 f7 44 24 20 00 02 00 00 41 c6 04 07 f8 75 4b f7 c3 00 02 00 00 74 01 fb bf 01 00 00 00 3f 1a 1c f7 65 8b 05 10 ca c5 75 85 c0 74 3c 48 c7 04 24 0e 36 RSP: 0018:ffffc900049e7480 EFLAGS: 00000206 RAX: dffffc0000000004 RBX: 0000000000000a06 RCX: 9d4cf47d7a1e9500 RDX: dffffc0000000000 RSI: ffffffff8a8c18a0 RDI: 0000000000000001 RBP: ffffc900049e7510 R08: ffffffff90b0f287 R09: 1ffffffff2161e50 R10: dffffc0000000000 R11: fffffbfff2161e51 R12: dffffc0000000000 R13: dffffc0000000000 R14: ffff88813fe40050 R15: 1ffff9200093ce90 spin_unlock_irqrestore include/linux/spinlock.h:406 [inline] unlock_page_lruvec_irqrestore include/linux/memcontrol.h:1611 [inline] folio_lruvec_relock_irqsave include/linux/memcontrol.h:1644 [inline] folio_batch_move_lru+0x288/0x690 mm/swap.c:237 lru_add_drain_cpu+0x10a/0x880 mm/swap.c:661 lru_add_drain+0x11d/0x3e0 mm/swap.c:765 exit_mmap+0x1e6/0x970 mm/mmap.c:3245 __mmput+0x118/0x3a0 kernel/fork.c:1210 exit_mm+0x24d/0x350 kernel/exit.c:572 do_exit+0x958/0x2570 kernel/exit.c:874 do_group_exit+0x229/0x2e0 kernel/exit.c:1030 get_signal+0x1259/0x1340 kernel/signal.c:2884 arch_do_signal_or_restart+0xc4/0x1310 arch/x86/kernel/signal.c:871 exit_to_user_mode_loop+0x70/0x110 kernel/entry/common.c:177 exit_to_user_mode_prepare+0xee/0x180 kernel/entry/common.c:213 __syscall_exit_to_user_mode_work kernel/entry/common.c:295 [inline] syscall_exit_to_user_mode+0x16/0x40 kernel/entry/common.c:306 do_syscall_64+0x58/0xa0 arch/x86/entry/common.c:82 entry_SYSCALL_64_after_hwframe+0x68/0xd2 RIP: 0033:0x7f8a5939e159 Code: Unable to access opcode bytes at 0x7f8a5939e12f. RSP: 002b:00007f8a5a1a00e8 EFLAGS: 00000246 ORIG_RAX: 00000000000000ca RAX: fffffffffffffe00 RBX: 00007f8a59625fa8 RCX: 00007f8a5939e159 RDX: 0000000000000000 RSI: 0000000000000080 RDI: 00007f8a59625fa8 RBP: 00007f8a59625fa0 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 00007f8a59626038 R14: 00007fff2c36c490 R15: 00007fff2c36c578 ---------------- Code disassembly (best guess): 0: c7 44 24 20 00 00 00 movl $0x0,0x20(%rsp) 7: 00 8: 9c pushf 9: 8f 44 24 20 pop 0x20(%rsp) d: f7 44 24 20 00 02 00 testl $0x200,0x20(%rsp) 14: 00 15: 41 c6 04 07 f8 movb $0xf8,(%r15,%rax,1) 1a: 75 4b jne 0x67 1c: f7 c3 00 02 00 00 test $0x200,%ebx 22: 74 01 je 0x25 24: fb sti 25: bf 01 00 00 00 mov $0x1,%edi * 2a: e8 3f 1a 1c f7 call 0xf71c1a6e <-- trapping instruction 2f: 65 8b 05 10 ca c5 75 mov %gs:0x75c5ca10(%rip),%eax # 0x75c5ca46 36: 85 c0 test %eax,%eax 38: 74 3c je 0x76 3a: 48 rex.W 3b: c7 .byte 0xc7 3c: 04 24 add $0x24,%al 3e: 0e (bad) 3f: 36 ss