Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d799f035 authored by Oleg Nesterov's avatar Oleg Nesterov Committed by Linus Torvalds
Browse files

[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: default avatarOleg Nesterov <oleg@tv-sign.ru>
Acked-by: default avatarEric Biederman <ebiederm@xmission.com>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent d73d6529
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -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);
	}
}