[patch] ptrace: make pid of child process available for PTRACE_EVENT_VFORK_DONE

From: Chuck Ebbert
Date: Tue Aug 01 2006 - 01:57:04 EST


When delivering PTRACE_EVENT_VFORK_DONE, provide pid of the child
process when tracer calls ptrace(PTRACE_GETEVENTMSG). This is
already (accidentally) available when the tracer is tracing VFORK in
addition to VFORK_DONE.

Signed-off-by: Chuck Ebbert <76306.1226@xxxxxxxxxxxxxx>

--- 2.6.18-rc3-32.orig/kernel/fork.c
+++ 2.6.18-rc3-32/kernel/fork.c
@@ -1387,8 +1387,10 @@ long do_fork(unsigned long clone_flags,

if (clone_flags & CLONE_VFORK) {
wait_for_completion(&vfork);
- if (unlikely (current->ptrace & PT_TRACE_VFORK_DONE))
+ if (unlikely (current->ptrace & PT_TRACE_VFORK_DONE)) {
+ current->ptrace_message = nr;
ptrace_notify ((PTRACE_EVENT_VFORK_DONE << 8) | SIGTRAP);
+ }
}
} else {
free_pid(pid);
--
Chuck
-
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/