From: Tiwei Bie Date: Tue, 6 Jan 2026 00:12:28 +0000 (+0800) Subject: um: Handle SIGCHLD in seccomp mode like other IRQ signals X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=656be28321e2262dd645128e22ec7625f27a6f9d;p=thirdparty%2Fkernel%2Fstable.git um: Handle SIGCHLD in seccomp mode like other IRQ signals In seccomp mode, SIGCHLD serves as the child reaper IRQ. So, let's handle it in the same way as other IRQ signals, including preventing them from nesting with each other and allowing interrupted syscalls to be automatically restarted. Signed-off-by: Tiwei Bie Link: https://patch.msgid.link/20260106001228.1531146-3-tiwei.btw@antgroup.com Signed-off-by: Johannes Berg --- diff --git a/arch/um/os-Linux/signal.c b/arch/um/os-Linux/signal.c index de372b936a80..6c993bc8c78e 100644 --- a/arch/um/os-Linux/signal.c +++ b/arch/um/os-Linux/signal.c @@ -16,6 +16,7 @@ #include #include #include +#include #include #include #include @@ -224,6 +225,8 @@ void set_handler(int sig) sigaddset(&action.sa_mask, SIGIO); sigaddset(&action.sa_mask, SIGWINCH); sigaddset(&action.sa_mask, SIGALRM); + if (using_seccomp) + sigaddset(&action.sa_mask, SIGCHLD); if (sig == SIGSEGV) flags |= SA_NODEFER;