diff --git a/[refs] b/[refs] index e128a8f4fa28..dc6e39fa2142 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: ab290adbaf8f46770f014ea87968de5baca29c30 +refs/heads/master: f88ccad5886d5a864b8b0d48c666ee9998dec53f diff --git a/trunk/mm/oom_kill.c b/trunk/mm/oom_kill.c index 2c993e47487f..3999747aef48 100644 --- a/trunk/mm/oom_kill.c +++ b/trunk/mm/oom_kill.c @@ -687,7 +687,8 @@ void out_of_memory(struct zonelist *zonelist, gfp_t gfp_mask, check_panic_on_oom(constraint, gfp_mask, order); read_lock(&tasklist_lock); - if (sysctl_oom_kill_allocating_task) { + if (sysctl_oom_kill_allocating_task && + !oom_unkillable_task(current, NULL, nodemask)) { /* * oom_kill_process() needs tasklist_lock held. If it returns * non-zero, current could not be killed so we must fallback to