Re: [PATCH 04/16] ptrace: kill tracehook_notify_jctl()

From: Oleg Nesterov
Date: Mon Dec 20 2010 - 10:06:59 EST


On 12/06, Tejun Heo wrote:
>
> tracehook_notify_jctl() aids in determining whether and what to report
> to the parent when a task is stopped or continued. The function also
> adds an extra requirement that siglock may be released across it,
> which is currently unused and quite difficult to satisfy in
> well-defined manner.

OK. I agree, tracehook_notify_jctl() looks very unobvious, especially
because it is not really used currently.

The patch looks correct, except

> @@ -1853,21 +1850,19 @@ relock:
> if (unlikely(signal->flags & SIGNAL_CLD_MASK)) {
> int why;
>
> - if (signal->flags & SIGNAL_CLD_CONTINUED)
> + if (task_ptrace(current) ||
> + (signal->flags & SIGNAL_CLD_CONTINUED))
> why = CLD_CONTINUED;
> else
> why = CLD_STOPPED;

Hmm, I can't understand this.

task_ptrace() should not turn CLD_STOPPED in CLD_CONTINUED?

Looking ahead, it _seems_ that the next patches keep this logic,
could you explain?

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/