[PATCH] choose_new_parent: remove unused arg, sanitize exit_state check
'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>
This commit is contained in:
parent
d73d65293e
commit
d799f03597
|
@ -538,13 +538,13 @@ static void exit_mm(struct task_struct * tsk)
|
||||||
mmput(mm);
|
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
|
* Make sure we're not reparenting to ourselves and that
|
||||||
* the parent is not a zombie.
|
* 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;
|
p->real_parent = reaper;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -645,7 +645,7 @@ static void forget_original_parent(struct task_struct * father,
|
||||||
|
|
||||||
if (father == p->real_parent) {
|
if (father == p->real_parent) {
|
||||||
/* reparent with a reaper, real father it's us */
|
/* 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);
|
reparent_thread(p, father, 0);
|
||||||
} else {
|
} else {
|
||||||
/* reparent ptraced task to its real parent */
|
/* 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) {
|
list_for_each_safe(_p, _n, &father->ptrace_children) {
|
||||||
p = list_entry(_p,struct task_struct,ptrace_list);
|
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);
|
reparent_thread(p, father, 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue