I'd with very much it were true. Kill VFORKDONE code. It doesn't rellay work just fools the poor tests.
--- kernel/ptrace.c | 7 ------- 1 file changed, 7 deletions(-) --- PU/kernel/ptrace.c~95_KILL_VFORK_DONE 2009-10-17 16:00:40.000000000 +0200 +++ PU/kernel/ptrace.c 2009-10-17 16:15:58.000000000 +0200 @@ -226,12 +226,6 @@ static u32 ptrace_report_clone(enum utra context->eventmsg = child->pid; ret = UTRACE_STOP; - } else if ((clone_flags & CLONE_VFORK) && - (context->options & PTRACE_O_TRACEVFORKDONE)) { - set_stop_code(context, PTRACE_EVENT_VFORK_DONE); - context->eventmsg = child->pid; - - ret = UTRACE_STOP; } return ret; @@ -1001,7 +995,6 @@ static void do_ptrace_resume(struct utra case PTRACE_EVENT_EXEC: case PTRACE_EVENT_FORK: case PTRACE_EVENT_CLONE: - case PTRACE_EVENT_VFORK_DONE: set_syscall_code(context, PTRACE_EVENT_SYSCALL_EXIT); do_ptrace_notify_stop(context, tracee); return;