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

From: Oleg Nesterov
Date: Thu Dec 17 2009 - 20:17:36 EST


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@xxxxxxxxxx>
Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx>
---

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);

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/