Re: [PATCH] ptrace: use safer wake up on ptrace_detach()

From: Tejun Heo
Date: Tue Feb 01 2011 - 10:07:37 EST


Hello,

On Tue, Feb 01, 2011 at 02:40:37PM +0100, Oleg Nesterov wrote:
> On 02/01, Tejun Heo wrote:
> >
> > --- work.orig/kernel/ptrace.c
> > +++ work/kernel/ptrace.c
> > @@ -313,7 +313,7 @@ int ptrace_detach(struct task_struct *ch
> > child->exit_code = data;
> > dead = __ptrace_detach(current, child);
> > if (!child->exit_state)
> > - wake_up_process(child);
> > + wake_up_state(child, TASK_TRACED | TASK_STOPPED);
>
> Well, it can't be TASK_TRACED at this point. And of course this still
> contradicts to __set_task_state(child, TASK_STOPPED) in ptrace_untrace().
> IOW, to me the previous patch makes more sense.

Yeah, it can't be in TRACED but the whole point of the patch is
avoiding rude wakeups, so as long as it doesn't end up waking random
[un]interruptible sleeps... It will be removed later anyway.

> But OK, I understand Roland's concerns. And, at least this change
> fixes the bug mentioned in 95a3540d.
>
> Acked-by: Oleg Nesterov <oleg@xxxxxxxxxx>

Oleg, Roland, you guys are the maintainers, so how do you guys want to
route the patches which have been acked? As it's likely that there
will be quite some number of ptrace patches, it will be better to have
a git tree.

Thank you.

--
tejun
--
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/