2008-06-16 14:18:43

by Oleg Nesterov

[permalink] [raw]
Subject: [PATCH 0/3] resend, ptrace && SIGKILL fixes

On 06/10, Oleg Nesterov wrote:
>
> These 2 patches don't depend on each other. Each change is user visible,
> and I am not really sure it can't confuse debuggers/etc. The explicit
> ack/nack from maintainers is wanted.

I'm mostly worried about do_exit()->ptrace_notify(), with these patches
we never notify the tracer if the tracee was SIGKILL'ed. The current
behaviour depends on arch_ptrace_stop_needed(), this is not good either.

Anyway, I think these patches are fixes. Suppose we send SIGKILL to the
traced task which does ptrace_notify(). If the signal is delivered before
ptrace_notify() takes ->siglock, the tracee sleeps in TASK_TRACED state
and becomes "unkillable". If ptrace_notify() wins, we kill the tracee.
This can't be good.

The 3rd patch is new.

Oleg.