Re: Fix signalfd interaction with thread-private signals

Linus Torvalds
2007-06-20T17:38:27Z

On Wed, 20 Jun 2007, Oleg Nesterov wrote:
>
> Also, suppose that some thread does
>
> for (;;)
> signal(SIGSEGV, SIG_IGN);
>
> Now we have the same situation. do_sigaction() can steal SIGSEGV from
> another thread.

Actually, that shouldn't be possible.

See "force_sig_info()". It does not allow blocking or ignoring forced
signals. We will reset such a signal handler to SIG_DFL, and unlock it.

So if you get a SIGSEGV while SIGSEGV's are blocked or ignored, the kernel
*will* kill you. No questions asked.

Linus