Cc: Eric W. Biederman <ebiederm@...>, Pavel Emelyanov <xemul@...>, Robert Rex <robert.rex@...>, Roland McGrath <roland@...>, Serge Hallyn <serue@...>, Sukadev Bhattiprolu <sukadev@...>, <linux-kernel@...>
de_thread() checks if the old leader was the ->child_reaper, this is not
possible any longer. With the previous patch ->group_leader itself will
change ->child_reaper on exit.
From now find_new_reaper() is the only function (apart from initialization)
which plays with ->child_reaper.
Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
--- 2.6.27-rc4/fs/exec.c~3_EXEC 2008-07-30 13:12:47.000000000 +0400
+++ 2.6.27-rc4/fs/exec.c 2008-08-24 19:20:05.000000000 +0400
@@ -825,8 +825,6 @@ static int de_thread(struct task_struct
schedule();
}
- if (unlikely(task_child_reaper(tsk) == leader))
- task_active_pid_ns(tsk)->child_reaper = tsk;
/*
* The only record we have of the real-time age of a
* process, regardless of execs it's done, is start_time.
--