diff options
| -rw-r--r-- | mm/oom_kill.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/mm/oom_kill.c b/mm/oom_kill.c index eafff89b3dd6..626303b52f3c 100644 --- a/mm/oom_kill.c +++ b/mm/oom_kill.c | |||
| @@ -303,7 +303,7 @@ static struct task_struct *select_bad_process(unsigned int *ppoints, | |||
| 303 | do_each_thread(g, p) { | 303 | do_each_thread(g, p) { |
| 304 | unsigned int points; | 304 | unsigned int points; |
| 305 | 305 | ||
| 306 | if (!p->mm) | 306 | if (p->exit_state) |
| 307 | continue; | 307 | continue; |
| 308 | if (oom_unkillable_task(p, mem, nodemask)) | 308 | if (oom_unkillable_task(p, mem, nodemask)) |
| 309 | continue; | 309 | continue; |
| @@ -319,6 +319,8 @@ static struct task_struct *select_bad_process(unsigned int *ppoints, | |||
| 319 | */ | 319 | */ |
| 320 | if (test_tsk_thread_flag(p, TIF_MEMDIE)) | 320 | if (test_tsk_thread_flag(p, TIF_MEMDIE)) |
| 321 | return ERR_PTR(-1UL); | 321 | return ERR_PTR(-1UL); |
| 322 | if (!p->mm) | ||
| 323 | continue; | ||
| 322 | 324 | ||
| 323 | if (p->flags & PF_EXITING) { | 325 | if (p->flags & PF_EXITING) { |
| 324 | /* | 326 | /* |
