[PATCH v4 2/2] arm64: show signal info for global init
Oleg Nesterov
oleg at redhat.com
Tue Sep 24 11:36:35 PDT 2024
Well, can't comment, I leave this to the arch/arm64/ maintainers.
but let me add a bit of spam just for the record,
On 09/24, qiwu.chen wrote:
>
> --- a/arch/arm64/kernel/traps.c
> +++ b/arch/arm64/kernel/traps.c
> @@ -247,12 +247,20 @@ static void arm64_show_signal(int signo, const char *str)
> unsigned long esr = tsk->thread.fault_code;
> struct pt_regs *regs = task_pt_regs(tsk);
>
> + /*
> + * The signal sent to the global init needs to be shown,
> + * which is useful for debugging kill init issue.
> + */
> + if (unlikely(is_global_init(tsk)))
> + goto dump;
> +
> /* Leave if the signal won't be shown */
> if (!show_unhandled_signals ||
> !unhandled_signal(tsk, signo) ||
> !__ratelimit(&rs))
> return;
>
> +dump:
So what does this patch try to do? Note that unhandled_signal(tsk) returns true
if is_global_init(tsk).
So it seems that this patch just tries to bypass the show_unhandled_signals and
__ratelimit() checks? Or what?
OTOH. The is_global_init() check in unhandled_signal() (which predates the git
history) doesn't look right to me. If init has a handler for, say, SIGSEGV, why
should the kernel complain? I need to recheck this logic...
Oleg.
More information about the linux-arm-kernel
mailing list