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

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