Just like we don't allow normal signals to IO threads, don't deliver a STOP to a task that has PF_IO_WORKER set. The IO threads don't take signals in general, and have no means of flushing out a stop either. Reported-by: Stefan Metzmacher <metze@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxxxxx> --- kernel/signal.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/kernel/signal.c b/kernel/signal.c index 730ecd3d6faf..b113bf647fb4 100644 --- a/kernel/signal.c +++ b/kernel/signal.c @@ -2349,6 +2349,10 @@ static bool do_signal_stop(int signr) t = current; while_each_thread(current, t) { + /* don't STOP PF_IO_WORKER threads */ + if (t->flags & PF_IO_WORKER) + continue; + /* * Setting state to TASK_STOPPED for a group * stop is always done with the siglock held, -- 2.31.0