提交 d799f035 编写于 作者: O Oleg Nesterov 提交者: Linus Torvalds

[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: NOleg Nesterov <oleg@tv-sign.ru>
Acked-by: NEric Biederman <ebiederm@xmission.com>
Signed-off-by: NAndrew Morton <akpm@osdl.org>
Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
上级 d73d6529
......@@ -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);
}
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册