Re: [syzbot] [input?] possible deadlock in tasklet_action_common (2)
From: Hillf Danton
Date: Thu Aug 27 2026 - 19:46:19 EST
> Date: Sat, 25 Jul 2026 17:38:28 -0700 [thread overview]
> syzbot has found a reproducer for the following issue on:
>
> HEAD commit: cc2b5f627e8c Add linux-next specific files for 20260714
> git tree: linux-next
> console output: https://syzkaller.appspot.com/x/log.txt?x=13d446b9580000
> kernel config: https://syzkaller.appspot.com/x/.config?x=2290ccbf984c524f
> dashboard link: https://syzkaller.appspot.com/bug?extid=b5d7ab56d43de3fd5aac
> compiler: Debian clang version 22.1.8 (++20260613092233+e80beda6e255-1~exp1~20260613092250.77), Debian LLD 22.1.8
> syz repro: https://syzkaller.appspot.com/x/repro.syz?x=1310a232580000
> C reproducer: https://syzkaller.appspot.com/x/repro.c?x=13c3b2ea580000
#syz test: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 818bebeb63dd
--- x/kernel/softirq.c
+++ y/kernel/softirq.c
@@ -956,7 +956,6 @@ static void tasklet_action_common(struct
tl_head->tail = &tl_head->head;
local_irq_enable();
- tasklet_lock_callback();
while (list) {
struct tasklet_struct *t = list;
@@ -976,7 +975,6 @@ static void tasklet_action_common(struct
}
}
tasklet_unlock(t);
- tasklet_callback_sync_wait_running();
continue;
}
tasklet_unlock(t);
@@ -989,7 +987,6 @@ static void tasklet_action_common(struct
__raise_softirq_irqoff(softirq_nr);
local_irq_enable();
}
- tasklet_unlock_callback();
}
static __latent_entropy void tasklet_action(void)
@@ -1042,7 +1039,7 @@ void tasklet_unlock_spin_wait(struct tas
* interrupt processing or prevents ksoftirqd from
* running.
*/
- tasklet_callback_cancel_wait_running();
+ tasklet_unlock_wait(t);
} else {
cpu_relax();
}
--