Re: [PATCH stable-3.0] ptrace: don't clear GROUP_STOP_SIGMASK ondouble-stop

From: Oleg Nesterov
Date: Tue Sep 27 2011 - 08:58:08 EST


On 09/26, Greg KH wrote:
>
> On Mon, Sep 26, 2011 at 07:06:32PM +0200, Oleg Nesterov wrote:
> > https://bugzilla.redhat.com/show_bug.cgi?id=740121
> >
> > 1. Luke Macken triggered WARN_ON(!(group_stop & GROUP_STOP_SIGMASK))
> > in do_signal_stop().
> >
> > This is because do_signal_stop() clears GROUP_STOP_SIGMASK part
> > unconditionally but doesn't update it if task_is_stopped().
> >
> > 2. Looking at this problem I noticed that WARN_ON_ONCE(!ptrace) is
> > not right, a stopped-but-resumed tracee can clone the untraced
> > thread in the SIGNAL_STOP_STOPPED group, the new thread can start
> > another group-stop.
> >
> > Remove this warning, we need more fixes to make it true.
> >
> > Reported-by: Luke Macken <lmacken@xxxxxxxxxx>
> > Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx>
>
> Is this fix in Linus's tree already? If so, what's the git commit id?

No. As I said, 3.1 has the similar problem. But not the same, and you
need the quite different test-case to trigger the bug.

We are discussing the possible fixes for 3.1, but this code was changed
very much and it doesn't make sense to compare the fixes for 3.1 and 3.0.

Oleg.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/