Re: [PATCH 01/17] signal: Make SIGKILL during coredumps an explicit special case

From: Oleg Nesterov
Date: Wed Jun 19 2024 - 15:12:52 EST


On 06/19, Eric W. Biederman wrote:
>
> Oleg Nesterov <oleg@xxxxxxxxxx> writes:
>
> > Hi Eric,
> >
> > I'll _try_ to read this (nontrivial) changes this week. To be honest,
> > right now I don't really understand your goals after the quick glance...
> >
> > So far I have only looked at this simple 1/17 and it doesn't look right
> > to me.
>
> It might be worth applying them all on a branch and just looking at the
> end result.

Perhaps. Say, the next 2/17 patch. I'd say it is very difficult to understand
the purpose unless you read the next patches. OK, at least the change log
mentions "in preparation".

> > - complete_signal() won't be called, so signal->group_exit_code
> > won't be updated.
> >
> > coredump_finish() won't change it too so the process will exit
> > with group_exit_code == signr /* coredumping signal */.
> >
> > Yes, the fix is obvious and trivial...
>
> The signal handling from the coredump is arguably correct. The process
> has already exited, and gotten an exit code.

And zap_process() sets roup_exit_code = signr. But,

> But I really don't care about the exit_code either way. I just want to
> make ``killing'' a dead process while it core dumps independent of
> complete_signal.
>
> That ``killing'' of a dead process is a completely special case.

Sorry I fail to understand...

If the coredumping process is killed by SIGKILL, it should exit with
group_exit_code = SIGKILL, right? At least this is what we have now.

Oleg.