Re: [PATCH] ptrace: clear TIF_SYSCALL_TRACE on ptrace detach

From: Oleg Nesterov
Date: Fri Sep 02 2016 - 08:26:19 EST


On 09/01, Ales Novak wrote:
>
> On __ptrace_detach(), called from do_exit()->exit_notify()->
> forget_original_parent()->exit_ptrace(), the TIF_SYSCALL_TRACE in
> thread->flags of the tracee is not cleared up. This results in the
> tracehook_report_syscall_* being called (though there's no longer a
> tracer listening to that) upon its further syscalls.
>
> Example scenario - attach "strace" to a running process and kill it (the
> strace) with SIGKILL. You'll see that the syscall trace hooks are still
> being called.

To clarify, this patch can't really fix the problem(s), The tracee can
be killed by SIGTRAP in this case. Again, we do not care too much, a lot
of bad things can happen if the tracer dies.

But I agree, this patch makes the things better for free,

Acked-by: Oleg Nesterov <oleg@xxxxxxxxxx>