[PATCH] choose_new_parent: remove unused arg, sanitize exit_state check
authorOleg Nesterov <oleg@tv-sign.ru>
Wed, 29 Mar 2006 00:11:04 +0000 (16:11 -0800)
committerLinus Torvalds <torvalds@g5.osdl.org>
Wed, 29 Mar 2006 02:36:40 +0000 (18:36 -0800)
'child_reaper' arg is not used in choose_new_parent().

"->exit_state >= EXIT_ZOMBIE" check is a leftover, was
valid when EXIT_ZOMBIE lived in ->state var.

Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Acked-by: Eric Biederman <ebiederm@xmission.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
kernel/exit.c

index 223a880..e04a594 100644 (file)
@@ -538,13 +538,13 @@ static void exit_mm(struct task_struct * tsk)
        mmput(mm);
 }
 
-static inline void choose_new_parent(task_t *p, task_t *reaper, task_t *child_reaper)
+static inline void choose_new_parent(task_t *p, task_t *reaper)
 {
        /*
         * Make sure we're not reparenting to ourselves and that
         * the parent is not a zombie.
         */
-       BUG_ON(p == reaper || reaper->exit_state >= EXIT_ZOMBIE);
+       BUG_ON(p == reaper || reaper->exit_state);
        p->real_parent = reaper;
 }
 
@@ -645,7 +645,7 @@ static void forget_original_parent(struct task_struct * father,
 
                if (father == p->real_parent) {
                        /* reparent with a reaper, real father it's us */
-                       choose_new_parent(p, reaper, child_reaper);
+                       choose_new_parent(p, reaper);
                        reparent_thread(p, father, 0);
                } else {
                        /* reparent ptraced task to its real parent */
@@ -666,7 +666,7 @@ static void forget_original_parent(struct task_struct * father,
        }
        list_for_each_safe(_p, _n, &father->ptrace_children) {
                p = list_entry(_p,struct task_struct,ptrace_list);
-               choose_new_parent(p, reaper, child_reaper);
+               choose_new_parent(p, reaper);
                reparent_thread(p, father, 1);
        }
 }