[PATCH 3/7] ptrace_signal: check PT_PTRACED before reporting a signal

Oleg Nesterov oleg at redhat.com
Fri Dec 18 01:11:28 UTC 2009


No functional changes, preparation for utrace-ptrace.

Change ptrace_signal() to check PT_PTRACED instead of task_ptrace() != 0.
Currently this is the same, PT_PTRACED must be always set if the task is
ptraced.

This change is needed to make sure ptrace_signal() does nothing if ptrace
is implemented on top of utrace, eventually this code will be removed
completely.

Signed-off-by: Roland McGrath <roland at redhat.com>
Signed-off-by: Oleg Nesterov <oleg at redhat.com>
---

 kernel/signal.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- V1/kernel/signal.c~3_PTRACE_SIGNAL_CK_PTRACED	2009-12-18 00:20:50.000000000 +0100
+++ V1/kernel/signal.c	2009-12-18 00:48:35.000000000 +0100
@@ -1764,7 +1764,7 @@ static int do_signal_stop(int signr)
 static int ptrace_signal(int signr, siginfo_t *info,
 			 struct pt_regs *regs, void *cookie)
 {
-	if (!task_ptrace(current))
+	if (!(task_ptrace(current) & PT_PTRACED))
 		return signr;
 
 	ptrace_signal_deliver(regs, cookie);




More information about the utrace-devel mailing list