Re: [PATCH 09/10] ptrace: add JOBCTL_BLOCK_NOTIFY

From: Oleg Nesterov
Date: Thu May 19 2011 - 12:33:59 EST


On 05/16, Tejun Heo wrote:
>
> +static void ptrace_put_task_struct(struct task_struct *child)
> +{
> + unsigned long flags;
> +
> + if (!(child->jobctl & JOBCTL_BLOCK_NOTIFY))
> + goto out_put;
> +
> + if (unlikely(!lock_task_sighand(child, &flags)))
> + goto out_put;
> +
> + /*
> + * Make sure @chlid is still ptraced by us and clear BLOCK_NOTIFY.
> + */
> + if (likely((child->ptrace & PT_PTRACED) && child->parent == current))

This looks a bit confusing... It is either traced or not. If it is traced,
nobody else can trace it. In fact even PT_PTRACED is not strictly needed
but I agree this check makes the code cleaner.

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/