[PATCH] ptrace: make pid of child process available for PTRACE_EVENT_VFORK_DONE
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@compuserve.com> Cc: Daniel Jacobowitz <dan@debian.org> Cc: Albert Cahalan <acahalan@gmail.com> Cc: Roland McGrath <roland@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
f9abd1ace4
commit
9f59ce5d0e
1 changed files with 3 additions and 1 deletions
|
@ -1387,9 +1387,11 @@ long do_fork(unsigned long clone_flags,
|
||||||
|
|
||||||
if (clone_flags & CLONE_VFORK) {
|
if (clone_flags & CLONE_VFORK) {
|
||||||
wait_for_completion(&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);
|
ptrace_notify ((PTRACE_EVENT_VFORK_DONE << 8) | SIGTRAP);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
free_pid(pid);
|
free_pid(pid);
|
||||||
nr = PTR_ERR(p);
|
nr = PTR_ERR(p);
|
||||||
|
|
Loading…
Reference in a new issue