================================ WARNING: inconsistent lock state syzkaller #0 Not tainted -------------------------------- inconsistent {SOFTIRQ-ON-W} -> {IN-SOFTIRQ-W} usage. kworker/u4:1/144 [HC0[0]:SC1[1]:HE1:SE0] takes: ffff888076698710 ((work_completion)(&(&host->detect)->work)){+.?.}-{0:0}, at: __flush_work+0xfa/0x210 kernel/workqueue.c:3090 {SOFTIRQ-ON-W} state was registered at: lock_acquire+0x19e/0x400 kernel/locking/lockdep.c:5625 process_one_work+0x7ba/0xff0 kernel/workqueue.c:2286 worker_thread+0xad7/0x12a0 kernel/workqueue.c:2457 kthread+0x42e/0x520 kernel/kthread.c:334 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:287 irq event stamp: 2772092 hardirqs last enabled at (2772092): [] __cancel_work_timer+0x36a/0x560 kernel/workqueue.c:3174 hardirqs last disabled at (2772091): [] try_to_grab_pending+0xfb/0x820 kernel/workqueue.c:1272 softirqs last enabled at (2772028): [] spin_unlock_bh include/linux/spinlock.h:409 [inline] softirqs last enabled at (2772028): [] batadv_nc_purge_paths+0x305/0x3a0 net/batman-adv/network-coding.c:475 softirqs last disabled at (2772029): [] do_softirq+0x142/0x210 kernel/softirq.c:477 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 kworker/u4:1/144: #0: ffff88814c4a1938 ((wq_completion)bat_events){+.+.}-{0:0}, at: process_one_work+0x75c/0xff0 kernel/workqueue.c:-1 #1: ffffc900016afd00 ((work_completion)(&(&bat_priv->nc.work)->work)){+.+.}-{0:0}, at: process_one_work+0x79e/0xff0 kernel/workqueue.c:2285 #2: ffffc90000dd0c80 ((&vub300->inactivity_timer)){+.-.}-{0:0}, at: lockdep_copy_map include/linux/lockdep.h:45 [inline] #2: ffffc90000dd0c80 ((&vub300->inactivity_timer)){+.-.}-{0:0}, at: call_timer_fn+0xca/0x540 kernel/time/timer.c:1638 stack backtrace: CPU: 1 PID: 144 Comm: kworker/u4:1 Not tainted syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/16/2026 Workqueue: bat_events batadv_nc_worker Call Trace: dump_stack_lvl+0x188/0x250 lib/dump_stack.c:106 valid_state+0x13b/0x1d0 kernel/locking/lockdep.c:3932 mark_lock_irq+0xa9/0x900 kernel/locking/lockdep.c:4135 mark_lock+0x208/0x320 kernel/locking/lockdep.c:4591 mark_usage kernel/locking/lockdep.c:-1 [inline] __lock_acquire+0xc63/0x7b50 kernel/locking/lockdep.c:4966 lock_acquire+0x19e/0x400 kernel/locking/lockdep.c:5625 __flush_work+0x116/0x210 kernel/workqueue.c:3090 __cancel_work_timer+0x3f4/0x560 kernel/workqueue.c:3181 mmc_free_host+0x15/0x30 drivers/mmc/core/host.c:663 call_timer_fn+0x17b/0x540 kernel/time/timer.c:1648 expire_timers kernel/time/timer.c:1699 [inline] __run_timers+0x56c/0x810 kernel/time/timer.c:1970 run_timer_softirq+0x63/0xf0 kernel/time/timer.c:1983 handle_softirqs+0x336/0x830 kernel/softirq.c:576 do_softirq+0x142/0x210 kernel/softirq.c:477 __local_bh_enable_ip+0x180/0x1c0 kernel/softirq.c:401 spin_unlock_bh include/linux/spinlock.h:409 [inline] batadv_nc_purge_paths+0x305/0x3a0 net/batman-adv/network-coding.c:475 batadv_nc_worker+0x321/0x5c0 net/batman-adv/network-coding.c:726 process_one_work+0x867/0xff0 kernel/workqueue.c:2310 worker_thread+0xad7/0x12a0 kernel/workqueue.c:2457 kthread+0x42e/0x520 kernel/kthread.c:334 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:287 virtqueue callback for ffff888147b0d900 (ffffffff85491a80) BUG: sleeping function called from invalid context at kernel/workqueue.c:3031 in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 144, name: kworker/u4:1 INFO: lockdep is turned off. Preemption disabled at: [<0000000000000000>] 0x0 CPU: 1 PID: 144 Comm: kworker/u4:1 Not tainted syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/16/2026 Workqueue: bat_events batadv_nc_worker Call Trace: dump_stack_lvl+0x188/0x250 lib/dump_stack.c:106 ___might_sleep+0x493/0x610 kernel/sched/core.c:9658 start_flush_work+0x2e/0x830 kernel/workqueue.c:3031 __flush_work+0x148/0x210 kernel/workqueue.c:3093 __cancel_work_timer+0x3f4/0x560 kernel/workqueue.c:3181 mmc_free_host+0x15/0x30 drivers/mmc/core/host.c:663 call_timer_fn+0x17b/0x540 kernel/time/timer.c:1648 expire_timers kernel/time/timer.c:1699 [inline] __run_timers+0x56c/0x810 kernel/time/timer.c:1970 run_timer_softirq+0x63/0xf0 kernel/time/timer.c:1983 handle_softirqs+0x336/0x830 kernel/softirq.c:576 do_softirq+0x142/0x210 kernel/softirq.c:477 __local_bh_enable_ip+0x180/0x1c0 kernel/softirq.c:401 spin_unlock_bh include/linux/spinlock.h:409 [inline] batadv_nc_purge_paths+0x305/0x3a0 net/batman-adv/network-coding.c:475 batadv_nc_worker+0x321/0x5c0 net/batman-adv/network-coding.c:726 process_one_work+0x867/0xff0 kernel/workqueue.c:2310 worker_thread+0xad7/0x12a0 kernel/workqueue.c:2457 kthread+0x42e/0x520 kernel/kthread.c:334 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:287 kobject: 'mmc0' (ffff888076698008): kobject_cleanup, parent 0000000000000000 kobject: 'mmc0' (ffff888076698008): calling ktype release BUG: scheduling while atomic: kworker/u4:1/144/0x00000102 INFO: lockdep is turned off. Modules linked in: Preemption disabled at: [<0000000000000000>] 0x0