diff --git a/mm/oom_kill.c b/mm/oom_kill.c index 3791edfffeebe9595f54ce7d04fe424832aa6af5..a35e7a8ebd7ed8ddbc5545a598796766889f0174 100644 --- a/mm/oom_kill.c +++ b/mm/oom_kill.c @@ -147,9 +147,11 @@ unsigned long badness(struct task_struct *p, unsigned long uptime) * Adjust the score by oomkilladj. */ if (p->oomkilladj) { - if (p->oomkilladj > 0) + if (p->oomkilladj > 0) { + if (!points) + points = 1; points <<= p->oomkilladj; - else + } else points >>= -(p->oomkilladj); }