From: Oleg Nesterov Date: Fri, 29 Sep 2006 09:01:12 +0000 (-0700) Subject: [PATCH] select_bad_process(): kill a bogus PF_DEAD/TASK_DEAD check X-Git-Tag: v2.6.19-rc1~698 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=28324d1df646521256e83389244adcce98e89ff2;p=pandora-kernel.git [PATCH] select_bad_process(): kill a bogus PF_DEAD/TASK_DEAD check The only one usage of TASK_DEAD outside of last schedule path, select_bad_process: for_each_task(p) { if (!p->mm) continue; ... if (p->state == TASK_DEAD) continue; ... TASK_DEAD state is set at the end of do_exit(), this means that p->mm was already set == NULL by exit_mm(), so this task was already rejected by 'if (!p->mm)' above. Note also that the caller holds tasklist_lock, this means that p can't pass exit_notify() and then set TASK_DEAD when p->mm != NULL. Also, remove open-coded is_init(). Signed-off-by: Oleg Nesterov Cc: Ingo Molnar Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- Reading git-diff-tree failed