From: Jens Axboe Date: Sat, 20 Mar 2021 01:25:13 +0000 (-0600) Subject: signal: don't allow sending any signals to PF_IO_WORKER threads X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=5be28c8f85ce99ed2d329d2ad8bdd18ea19473a5;p=linux.git signal: don't allow sending any signals to PF_IO_WORKER threads They don't take signals individually, and even if they share signals with the parent task, don't allow them to be delivered through the worker thread. Linux does allow this kind of behavior for regular threads, but it's really a compatability thing that we need not care about for the IO threads. Reported-by: Stefan Metzmacher Signed-off-by: Jens Axboe --- diff --git a/kernel/signal.c b/kernel/signal.c index ba4d1ef39a9ea..11cabcf20e7a6 100644 --- a/kernel/signal.c +++ b/kernel/signal.c @@ -833,6 +833,9 @@ static int check_kill_permission(int sig, struct kernel_siginfo *info, if (!valid_signal(sig)) return -EINVAL; + /* PF_IO_WORKER threads don't take any signals */ + if (t->flags & PF_IO_WORKER) + return -ESRCH; if (!si_fromuser(info)) return 0;