|
@@ -719,9 +719,9 @@ void out_of_memory(struct zonelist *zonelist, gfp_t gfp_mask,
|
|
|
check_panic_on_oom(constraint, gfp_mask, order, mpol_mask);
|
|
|
|
|
|
read_lock(&tasklist_lock);
|
|
|
- if (sysctl_oom_kill_allocating_task &&
|
|
|
+ if (sysctl_oom_kill_allocating_task && current->mm &&
|
|
|
!oom_unkillable_task(current, NULL, nodemask) &&
|
|
|
- current->mm) {
|
|
|
+ current->signal->oom_score_adj != OOM_SCORE_ADJ_MIN) {
|
|
|
oom_kill_process(current, gfp_mask, order, 0, totalpages, NULL,
|
|
|
nodemask,
|
|
|
"Out of memory (oom_kill_allocating_task)");
|