Re: [PATCH v2] kernel/exit: do panic earlier to get coredump if global init task exit

From: Oleg Nesterov
Date: Mon Dec 16 2019 - 12:28:56 EST


On 12/16, qiwuchen55@xxxxxxxxx wrote:
>
> + * If all threads of global init have exited, do panic imeddiately
> + * to get the coredump to find any clue for init task in userspace.
> + */
> + group_dead = atomic_dec_and_test(&tsk->signal->live);
> + if (unlikely(is_global_init(tsk) && group_dead))
> + panic("Attempted to kill init! exitcode=0x%08lx\n", code);
^^^^

No, we should not throw out the useful info, please use

signal->group_exit_code ?: code

as the current code does.

And I am worried atomic_dec_and_test() is called too early...

Say, acct_process() can report the exit while some sub-thread sleeps
in PTRACE_EVENT_EXIT? I'd prefer to not move it up too much, at least
before exit_signals().

Oleg.