]> Pileus Git - ~andy/linux/blobdiff - include/linux/ptrace.h
ptrace: don't send SIGTRAP on exec if SEIZED
[~andy/linux] / include / linux / ptrace.h
index c2f1f6a5fcb8a67f52c90c8397c7384534d3010a..6fdb196caa3e6abbb52b7b31ee581899af39813d 100644 (file)
@@ -199,9 +199,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);
        }
 }