[PATCH 23/33] utrace: don't clear TIF_SYSCALL_TRACE if it is needed by ptrace

Oleg Nesterov oleg at redhat.com
Mon Nov 21 20:02:28 UTC 2011


TIF_SYSCALL_TRACE should be cleared only if both ptrace and utrace do
not want it, change utrace_reset() to check PT_SYSCALL_TRACE before
clear_tsk_thread_flag(TIF_SYSCALL_TRACE).

Signed-off-by: Oleg Nesterov <oleg at redhat.com>
---
 kernel/utrace.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/kernel/utrace.c b/kernel/utrace.c
index 0bb0a06..bebf6de 100644
--- a/kernel/utrace.c
+++ b/kernel/utrace.c
@@ -697,6 +697,7 @@ static bool utrace_reset(struct task_struct *task, struct utrace *utrace)
 		BUG_ON(utrace->death);
 		flags &= UTRACE_EVENT(REAP);
 	} else if (!(flags & UTRACE_EVENT_SYSCALL) &&
+		   !(task->ptrace & PT_SYSCALL_TRACE) &&
 		   test_tsk_thread_flag(task, TIF_SYSCALL_TRACE)) {
 		clear_tsk_thread_flag(task, TIF_SYSCALL_TRACE);
 	}
-- 
1.5.5.1



More information about the kernel mailing list