diff options
Diffstat (limited to 'mm/oom_kill.c')
| -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 eafff89b3dd..626303b52f3 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,  	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) {  			/*  |