Re: [PATCH v2 00/14] Short circuit delivery for coredump signals

From: Oleg Nesterov

Date: Tue Jul 07 2026 - 08:17:23 EST


On 07/07, Oleg Nesterov wrote:
>
> Eric, so far I applied the whole series, and I don't see how it can
> solve one of the problems I tried to fix in my series.
>
> Again. A task T has a pending and blocked SIGSYS. si_code = SI_USER.
> (although the latter is not strictly necessary)
>
> force_sig_seccomp(force_coredump => true) sent to T unblocks SIGSYS
> and sets SA_IMMUTABLE.
>
> However, __send_signal_locked() will bypass enqueue_signal() (so it
> won't set SIGNAL_GROUP_EXIT) because legacy_queue() is true.
>
> T calls get_signal(). Now. it can dequeue another synchronous signal.
> If that signal has a handler and its sa_mask includes SIGSYS, the task
> can return to userspace and survive.
>
> No?
>
> Oh... And SIGKILL still can be lost, and I still think this is not good.

Hmm. And it seems that V2 doesn't fix the problem I noticed in V1: the dumper
thread can be wrong.

The first thread which calls get_signal() -> dequeue_exit_signal() will
initiate the coredumping, not necessary the faulting thread. This looks
very wrong to me.

Oleg.