From e95c3db415ffe3ee251b90755b9b127394c9acd5 Mon Sep 17 00:00:00 2001 From: Oleg Nesterov Date: Tue, 2 Sep 2008 14:35:48 -0700 Subject: [PATCH] --- yaml --- r: 109410 b: refs/heads/master c: add0d4dfd660e9e4fd0af3eac3cad23583c9558f h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/kernel/pid_namespace.c | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 6c8488f2f77d..4469607248e2 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: e385ea63f44b475e034a78b6d8bc6bb50caf72ca +refs/heads/master: add0d4dfd660e9e4fd0af3eac3cad23583c9558f diff --git a/trunk/kernel/pid_namespace.c b/trunk/kernel/pid_namespace.c index ea567b78d1aa..598f1eec9826 100644 --- a/trunk/kernel/pid_namespace.c +++ b/trunk/kernel/pid_namespace.c @@ -179,9 +179,12 @@ void zap_pid_ns_processes(struct pid_namespace *pid_ns) rc = sys_wait4(-1, NULL, __WALL, NULL); } while (rc != -ECHILD); - - /* Child reaper for the pid namespace is going away */ - pid_ns->child_reaper = NULL; + /* + * We can not clear ->child_reaper or leave it alone. + * There may by stealth EXIT_DEAD tasks on ->children, + * forget_original_parent() must move them somewhere. + */ + pid_ns->child_reaper = init_pid_ns.child_reaper; acct_exit_ns(pid_ns); return; }