[PATCH F-14] bz#573210: ptrace-utrace: fix PTRACE_GETEVENTMSG(pid) in LXC

Oleg Nesterov oleg at redhat.com
Sat Aug 27 17:49:24 UTC 2011


ptrace_report_clone() uses child->pid, this is obviously wrong unless
the tracer is from the global namespace. Change it to use task_pid_vnr().

This is still not right, we should use the tracer's namespace, not
parent's. But this matches upstream, and at least this works if they
are from the same namespace.

Reported-by: Robin Green <greenrd at greenrd.org>
Signed-off-by: Oleg Nesterov <oleg at redhat.com>

--- a/kernel/ptrace-utrace.c
+++ b/kernel/ptrace-utrace.c
@@ -403,7 +403,7 @@ static u32 ptrace_report_clone(u32 actio
 		return UTRACE_RESUME;
 	set_stop_code(ctx, event);
-	ctx->eventmsg = child->pid;
+	ctx->eventmsg = task_pid_vnr(child);
 	 * We shouldn't stop now, inside the do_fork() path.
 	 * We will stop later, before return to user-mode.

More information about the kernel mailing list