From: Oleg Nesterov Date: Fri, 29 Sep 2006 09:01:13 +0000 (-0700) Subject: [PATCH] oom_kill_task(): cleanup ->mm checks X-Git-Tag: v2.6.19-rc1~696 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=01017a227044d64face2588fab9427a1da1bdb9f;p=linux-2.6 [PATCH] oom_kill_task(): cleanup ->mm checks - It is not possible to have task->mm == &init_mm. - task_lock() buys nothing for 'if (!p->mm)' check. Signed-off-by: Oleg Nesterov Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- diff --git a/mm/oom_kill.c b/mm/oom_kill.c index 991bf0cf47..a5493a3b48 100644 --- a/mm/oom_kill.c +++ b/mm/oom_kill.c @@ -260,14 +260,11 @@ static void __oom_kill_task(struct task_struct *p, const char *message) return; } - task_lock(p); - if (!p->mm || p->mm == &init_mm) { + if (!p->mm) { WARN_ON(1); printk(KERN_WARNING "tried to kill an mm-less task!\n"); - task_unlock(p); return; } - task_unlock(p); if (message) { printk(KERN_ERR "%s: Killed process %d (%s).\n", @@ -301,7 +298,7 @@ static int oom_kill_task(struct task_struct *p, const char *message) * However, this is of no concern to us. */ - if (mm == NULL || mm == &init_mm) + if (mm == NULL) return 1; __oom_kill_task(p, message);