From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from out01.mta.xmission.com (out01.mta.xmission.com [166.70.13.231]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4048D2C11DF for ; Fri, 26 Jun 2026 16:55:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=166.70.13.231 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782492918; cv=none; b=u6/et8EVYj8jR6nLNyHjlL6HVtxyyCxgth7J5hylHX6RLqEhNeV+xu+Zga5z+dLk/P8tPil4lQG+QdQh0RYAt1gIdmrF+WY8MUYTGGjMPweK87MaNxGujiFMzik09JoRxu5jDWga5/fJ/1CizUtO1y6KpP6zC3eDIPAby69g/iw= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782492918; c=relaxed/simple; bh=CVJ6IDTwdzlA10bPSVmbBZ6u3L6Sc6NQqM2S2pDPHYE=; h=From:To:Cc:In-Reply-To:References:Date:Message-ID:MIME-Version: Content-Type:Subject; b=C9r+5pg2pWklM6rfwNXi2j6t8RcpEXhUGbxnOu7VcD8KFL38yp+mdb4HcvoRlrkjU0D8/ljIIMtuHkSKfF3A8nGNeRTm1CFA61ttNgdv58SgfW3+8cCBSbnNZm/DF7oQ1//sYIn6Et0tbc8cZ3GjA+uhJWieFjZpbTUkZSpP+B4= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=xmission.com; spf=pass smtp.mailfrom=xmission.com; dkim=pass (1024-bit key) header.d=xmission.com header.i=@xmission.com header.b=pvrMagsm; arc=none smtp.client-ip=166.70.13.231 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=xmission.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=xmission.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=xmission.com header.i=@xmission.com header.b="pvrMagsm" DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=simple/simple; d=xmission.com; s=xmission; h=Subject:Content-Type:MIME-Version:Message-ID:Date:References: In-Reply-To:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=CVJ6IDTwdzlA10bPSVmbBZ6u3L6Sc6NQqM2S2pDPHYE=; b=pvrMagsmXeINUGjt/cNOr/GGKc G3ohzUlU/bf+61oj96e6ra671J+xKLC7s651EB9sB17FIpXkOppj9moUqvRVCINuOiW7WWVs8BpIz ARtpU8SM/uW2qhvdCft/zvlgwJ92ooFNrf7aRWID3Tl2MPlhLU3sF/4Og0qE9tkvaw8M=; Received: from in01.mta.xmission.com ([166.70.13.51]:55572) by out01.mta.xmission.com with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.93) (envelope-from ) id 1wd9pk-004sRJ-HP; Fri, 26 Jun 2026 10:55:16 -0600 Received: from ip72-198-198-28.om.om.cox.net ([72.198.198.28]:57080 helo=email.froward.int.ebiederm.org.xmission.com) by in01.mta.xmission.com with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.93) (envelope-from ) id 1wd9pj-00GjwE-Ol; Fri, 26 Jun 2026 10:55:16 -0600 From: "Eric W. Biederman" To: Andrew Morton Cc: Andy Lutomirski , Kees Cook , Kusaram Devineni , Peter Zijlstra , Thomas Gleixner , Will Drewry , linux-kernel@vger.kernel.org, Oleg Nesterov In-Reply-To: <87o6gx9rc4.fsf@email.froward.int.ebiederm.org> (Eric W. Biederman's message of "Fri, 26 Jun 2026 11:52:43 -0500") References: <87o6gx9rc4.fsf@email.froward.int.ebiederm.org> Date: Fri, 26 Jun 2026 11:55:09 -0500 Message-ID: <877bnl9r82.fsf_-_@email.froward.int.ebiederm.org> User-Agent: Gnus/5.13 (Gnus v5.13) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain X-XM-SPF: eid=1wd9pj-00GjwE-Ol;;;mid=<877bnl9r82.fsf_-_@email.froward.int.ebiederm.org>;;;hst=in01.mta.xmission.com;;;ip=72.198.198.28;;;frm=ebiederm@xmission.com;;;sPfnum=0;;;sPf=pass X-XM-AID: U2FsdGVkX19Tayi/p29/szXEzgtnHYQYLr/9gqH33cE= X-Spam-Level: * X-Spam-Report: * -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP * 0.1 BAYES_50 BODY: Bayes spam probability is 40 to 60% * [score: 0.5001] * 0.7 XMSubLong Long Subject * 1.5 XMNoVowels Alpha-numberic number with no vowels * -0.0 DCC_CHECK_NEGATIVE Not listed in DCC * [sa08 1397; Body=1 Fuz1=1 Fuz2=1] * 0.0 T_TooManySym_01 4+ unique symbols in subject X-Spam-DCC: XMission; sa08 1397; Body=1 Fuz1=1 Fuz2=1 X-Spam-Combo: *;Andrew Morton X-Spam-Relay-Country: X-Spam-Timing: total 327 ms - load_scoreonly_sql: 0.07 (0.0%), signal_user_changed: 11 (3.4%), b_tie_ro: 10 (3.0%), parse: 0.78 (0.2%), extract_message_metadata: 9 (2.8%), get_uri_detail_list: 0.87 (0.3%), tests_pri_-2000: 12 (3.6%), tests_pri_-1000: 2.1 (0.7%), tests_pri_-950: 0.92 (0.3%), tests_pri_-900: 0.73 (0.2%), tests_pri_-90: 77 (23.7%), check_bayes: 76 (23.2%), b_tokenize: 5.0 (1.5%), b_tok_get_all: 6 (1.7%), b_comp_prob: 1.64 (0.5%), b_tok_touch_all: 60 (18.2%), b_finish: 1.13 (0.3%), tests_pri_0: 196 (59.8%), check_dkim_signature: 0.65 (0.2%), check_dkim_adsp: 2.4 (0.7%), poll_dns_idle: 0.50 (0.2%), tests_pri_10: 1.86 (0.6%), tests_pri_500: 13 (3.8%), rewrite_mail: 0.00 (0.0%) Subject: [PATCH 03/11] signal: Bring down all threads when handling a non-coredump fatal signal X-SA-Exim-Connect-IP: 166.70.13.51 X-SA-Exim-Rcpt-To: oleg@redhat.com, linux-kernel@vger.kernel.org, wad@chromium.org, tglx@kernel.org, peterz@infradead.org, kusaram@devineni.in, kees@kernel.org, luto@kernel.org, akpm@linux-foundation.org X-SA-Exim-Mail-From: ebiederm@xmission.com X-SA-Exim-Scanned: No (on out01.mta.xmission.com); SAEximRunCond expanded to false For non-coredump fatal signals instead of dropping and reacquiring siglock to shoot down the other threads from do_group_exit at the end of get_signal, shoot down the other threads before siglock is dropped. This can not be done for coredump signals yet, because do_coredump needs to be in a position to catch dying threads before it kills them so it can make certain to catch them, so they can be added to the coredump. Signed-off-by: "Eric W. Biederman" --- kernel/signal.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/kernel/signal.c b/kernel/signal.c index d98307964ee5..d111b779cbdb 100644 --- a/kernel/signal.c +++ b/kernel/signal.c @@ -3006,7 +3006,21 @@ bool get_signal(struct ksignal *ksig) * Anything else is fatal, maybe with a core dump. */ exit_code = signr; - group_exit_needed = true; + if (sig_kernel_coredump(signr)) + group_exit_needed = true; + else { + struct task_struct *t; + signal->flags = SIGNAL_GROUP_EXIT; + signal->group_exit_code = signr; + signal->group_stop_count = 0; + __for_each_thread(signal, t) { + task_clear_jobctl_pending(t, JOBCTL_PENDING_MASK); + if (t != current) { + sigaddset(&t->pending.signal, SIGKILL); + signal_wake_up(t, 1); + } + } + } fatal: spin_unlock_irq(&sighand->siglock); if (unlikely(cgroup_task_frozen(current))) -- 2.41.0