Re: [PATCH v2] signal: respect the blocked mask in dequeue_synchronous_signal()

From: Oleg Nesterov

Date: Fri Oct 23 2026 - 06:07:22 EST


On 10/22, Eric W. Biederman wrote:
>
> Oleg Nesterov <oleg@xxxxxxxxxx> writes:
>
> > And afaics we have another problem. sys_rt_sigqueueinfo() allows to
> > send a SI_FROMKERNEL RT signal to itself.
>
> I don't see where your proposed code is addressing this.

Hmm. It doesn't even try. And yes, I know it is deliberate, I know that
CRIU uses this feature.

> > In this case sigmask(q->info.si_signo) leads to UB on 32-bit.
>
> I presume you are referring to a signal number that exceeds 32
> being put into a 32bit mask. That does seem worth fixing.

Yes. That is all. I just tried to explain why this can happen.
sys_rt_sigqueueinfo() is the reason. The kernel doesn't sent
SI_FROMKERNEL signals with si_signo >= SIGRTMIN.

OK, let me write the changelog and simplify this change...

Oleg.