]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
oom fix: prevent oom from killing a process with children/sibling unkillable
authorAnkita Garg <ankita@in.ibm.com>
Sun, 18 Mar 2007 22:54:14 +0000 (18:54 -0400)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 23 Mar 2007 19:49:26 +0000 (12:49 -0700)
Looking at oom_kill.c, found that the intention to not kill the selected
process if any of its children/siblings has OOM_DISABLE set, is not being
met.

Signed-off-by: Ankita Garg <ankita@in.ibm.com>
Cc: Chuck Ebbert <cebbert@redhat.com>
Acked-by: Nick Piggin <npiggin@suse.de>
Acked-by: William Irwin <wli@holomorphy.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
mm/oom_kill.c

index b278b8d60eee4ac13bba50222c478901cff39a60..2f3916986abf7054bc00e4c2fc8ed2ed688d199b 100644 (file)
@@ -320,7 +320,7 @@ static int oom_kill_task(struct task_struct *p)
         * Don't kill the process if any threads are set to OOM_DISABLE
         */
        do_each_thread(g, q) {
-               if (q->mm == mm && p->oomkilladj == OOM_DISABLE)
+               if (q->mm == mm && q->oomkilladj == OOM_DISABLE)
                        return 1;
        } while_each_thread(g, q);