Messages in this thread | | | Date | Tue, 1 Feb 2011 16:07:27 +0100 | From | Tejun Heo <> | Subject | Re: [PATCH] ptrace: use safer wake up on ptrace_detach() |
| |
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@redhat.com>
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
| |