Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1474412
| From | Ales Novak <alnovak@suse.cz> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | [PATCH] ptrace: clear TIF_SYSCALL_TRACE on ptrace detach |
| Date | 2016-09-01 16:00 +0200 |
| Message-ID | <scAH7-2zZ-19@gated-at.bofh.it> (permalink) |
| Organization | linux.* mail to news gateway |
On ptrace_detach(), 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. Signed-off-by: Ales Novak <alnovak@suse.cz> Cc: Jiri Kosina <jkosina@suse.cz> --- kernel/ptrace.c | 1 + 1 file changed, 1 insertion(+) diff --git a/kernel/ptrace.c b/kernel/ptrace.c index 1d3b766..634740f 100644 --- a/kernel/ptrace.c +++ b/kernel/ptrace.c @@ -85,6 +85,7 @@ void __ptrace_unlink(struct task_struct *child) task_clear_jobctl_pending(child, JOBCTL_TRAP_MASK); task_clear_jobctl_trapping(child); + clear_tsk_thread_flag(child, TIF_SYSCALL_TRACE); /* * Reinstate JOBCTL_STOP_PENDING if group stop is in effect and * @child isn't dead. -- 2.7.0
Back to linux.kernel | Previous | Next — Next in thread | Find similar | Unroll thread
[PATCH] ptrace: clear TIF_SYSCALL_TRACE on ptrace detach Ales Novak <alnovak@suse.cz> - 2016-09-01 16:00 +0200
Re: [PATCH] ptrace: clear TIF_SYSCALL_TRACE on ptrace detach Oleg Nesterov <oleg@redhat.com> - 2016-09-01 18:50 +0200
Re: [PATCH] ptrace: clear TIF_SYSCALL_TRACE on ptrace detach Ales Novak <alnovak@suse.cz> - 2016-09-01 23:10 +0200
[PATCH] ptrace: clear TIF_SYSCALL_TRACE on ptrace detach Ales Novak <alnovak@suse.cz> - 2016-09-01 23:10 +0200
Re: [PATCH] ptrace: clear TIF_SYSCALL_TRACE on ptrace detach Oleg Nesterov <oleg@redhat.com> - 2016-09-02 14:30 +0200
csiph-web