Messages in this thread Patch in this message | | | Date | Fri, 10 Feb 2012 18:33:19 +0100 | From | Oleg Nesterov <> | Subject | [PATCH 2/2] ptrace: don't send SIGTRAP on exec if SEIZED |
| |
ptrace_event(PTRACE_EVENT_EXEC) sends SIGTRAP if PT_TRACE_EXEC is not set. This is because this SIGTRAP predates PTRACE_O_TRACEEXEC option, we do not need/want this with PT_SEIZED which can set the options during attach.
Suggested-by: Pedro Alves <palves@redhat.com> Signed-off-by: Oleg Nesterov <oleg@redhat.com> --- include/linux/ptrace.h | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/include/linux/ptrace.h b/include/linux/ptrace.h index 6dffe18..407c678 100644 --- a/include/linux/ptrace.h +++ b/include/linux/ptrace.h @@ -194,9 +194,10 @@ static inline void ptrace_event(int event, unsigned long message) if (unlikely(ptrace_event_enabled(current, event))) { current->ptrace_message = message; ptrace_notify((event << 8) | SIGTRAP); - } else if (event == PTRACE_EVENT_EXEC && unlikely(current->ptrace)) { + } else if (event == PTRACE_EVENT_EXEC) { /* legacy EXEC report via SIGTRAP */ - send_sig(SIGTRAP, current, 0); + if ((current->ptrace & (PT_PTRACED|PT_SEIZED)) == PT_PTRACED) + send_sig(SIGTRAP, current, 0); } } -- 1.5.5.1
| |