Re: [PATCH] signals: work around random wakeups in sigsuspend()

From: Al Viro
Date: Wed Feb 24 2016 - 22:19:15 EST


On Mon, Jan 25, 2016 at 08:09:15PM +0100, Oleg Nesterov wrote:
> On 01/25, Sasha Levin wrote:
> >
> > A random wakeup can get us out of sigsuspend() without TIF_SIGPENDING
> > being set.
>
> and TIF_RESTORE_SIGMASK is just wrong in this case. I'd say this is the
> bugfix, not work-around ;)
>
> > Avoid that by making sure we were signaled, like sys_pause() does.
> >
> > Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx>
>
> Acked-by: Oleg Nesterov <oleg@xxxxxxxxxx>
>
> Thanks Sasha.

Out of curiousity - where did that stray wakeup come from? PTRACE_KILL
used to trigger those, but that got fixed. How does one trigger that
kind of bugs on the current kernels?