[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240625125638.GA17193@redhat.com>
Date: Tue, 25 Jun 2024 14:56:38 +0200
From: Oleg Nesterov <oleg@...hat.com>
To: "Eric W. Biederman" <ebiederm@...ssion.com>
Cc: Andrew Morton <akpm@...ux-foundation.org>, Tejun Heo <tj@...nel.org>,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 05/17] signal: Bring down all threads when handling a
non-coredump fatal signal
On 06/18, Eric W. Biederman wrote:
>
> --- a/kernel/signal.c
> +++ b/kernel/signal.c
> @@ -2882,7 +2882,13 @@ 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;
OK... do_coredump() can fail before coredump_wait() even if CONFIG_COREDUMP
> + else {
> + signal->group_exit_code = exit_code;
> + signal->flags = SIGNAL_GROUP_EXIT;
> + zap_other_threads(current);
> + }
dequeue_signal() and/or ptrace_signal() can drop siglock, I think
the else branch should re-check SIGNAL_GROUP_EXIT/group_exec_task.
Oleg.
Powered by blists - more mailing lists