From 92708012298af407a3afb572a2a7bddf77cff5bd Mon Sep 17 00:00:00 2001 From: Oleg Nesterov Date: Sat, 30 Jul 2011 16:35:02 +0200 Subject: [PATCH] --- yaml --- r: 262166 b: refs/heads/master c: c027a474a68065391c8773f6e83ed5412657e369 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/mm/oom_kill.c | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index f08c9ed33cfc..c8e9421c36f2 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: cfe22345ad5ef29e192e157fdc3e17d357e4bc24 +refs/heads/master: c027a474a68065391c8773f6e83ed5412657e369 diff --git a/trunk/mm/oom_kill.c b/trunk/mm/oom_kill.c index eafff89b3dd6..626303b52f3c 100644 --- a/trunk/mm/oom_kill.c +++ b/trunk/mm/oom_kill.c @@ -303,7 +303,7 @@ static struct task_struct *select_bad_process(unsigned int *ppoints, do_each_thread(g, p) { unsigned int points; - if (!p->mm) + if (p->exit_state) continue; if (oom_unkillable_task(p, mem, nodemask)) continue; @@ -319,6 +319,8 @@ static struct task_struct *select_bad_process(unsigned int *ppoints, */ if (test_tsk_thread_flag(p, TIF_MEMDIE)) return ERR_PTR(-1UL); + if (!p->mm) + continue; if (p->flags & PF_EXITING) { /*