diff options
author | Sudeep Holla <sudeep.holla@arm.com> | 2019-05-23 05:06:15 -0400 |
---|---|---|
committer | Catalin Marinas <catalin.marinas@arm.com> | 2019-06-05 12:51:17 -0400 |
commit | 15532fd6f57c297c45ef3f5c17d2fbcdcc8092e4 (patch) | |
tree | 62a174343e0da5c5e08082811366b23864cee0df /kernel/ptrace.c | |
parent | 616810360043183a9db73e39f5aadbe48952c383 (diff) |
ptrace: move clearing of TIF_SYSCALL_EMU flag to core
While the TIF_SYSCALL_EMU is set in ptrace_resume independent of any
architecture, currently only powerpc and x86 unset the TIF_SYSCALL_EMU
flag in ptrace_disable which gets called from ptrace_detach.
Let's move the clearing of TIF_SYSCALL_EMU flag to __ptrace_unlink
which gets executed from ptrace_detach and also keep it along with
or close to clearing of TIF_SYSCALL_TRACE.
Cc: Paul Mackerras <paulus@samba.org>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Acked-by: Oleg Nesterov <oleg@redhat.com>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Diffstat (limited to 'kernel/ptrace.c')
-rw-r--r-- | kernel/ptrace.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/kernel/ptrace.c b/kernel/ptrace.c index 5710d07e67cf..ab14654b2436 100644 --- a/kernel/ptrace.c +++ b/kernel/ptrace.c | |||
@@ -118,6 +118,9 @@ void __ptrace_unlink(struct task_struct *child) | |||
118 | BUG_ON(!child->ptrace); | 118 | BUG_ON(!child->ptrace); |
119 | 119 | ||
120 | clear_tsk_thread_flag(child, TIF_SYSCALL_TRACE); | 120 | clear_tsk_thread_flag(child, TIF_SYSCALL_TRACE); |
121 | #ifdef TIF_SYSCALL_EMU | ||
122 | clear_tsk_thread_flag(child, TIF_SYSCALL_EMU); | ||
123 | #endif | ||
121 | 124 | ||
122 | child->parent = child->real_parent; | 125 | child->parent = child->real_parent; |
123 | list_del_init(&child->ptrace_entry); | 126 | list_del_init(&child->ptrace_entry); |