From: David Rientjes Date: Fri, 27 Apr 2007 16:11:10 +0000 (-0400) Subject: [PATCH] oom: kill all threads that share mm with killed task X-Git-Tag: v2.6.20.14~32 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=afb7680b2c8ddadc4b09177dd85880f5ad6b4621;p=thirdparty%2Fkernel%2Fstable.git [PATCH] oom: kill all threads that share mm with killed task oom_kill_task() calls __oom_kill_task() to OOM kill a selected task. When finding other threads that share an mm with that task, we need to kill those individual threads and not the same one. (Bug introduced by f2a2a7108aa0039ba7a5fe7a0d2ecef2219a7584) Acked-by: William Irwin Acked-by: Christoph Lameter Cc: Nick Piggin Cc: Andrew Morton Cc: Andi Kleen Signed-off-by: David Rientjes Signed-off-by: Linus Torvalds Signed-off-by: Chris Wright Signed-off-by: Greg Kroah-Hartman --- diff --git a/mm/oom_kill.c b/mm/oom_kill.c index 223add31d2ede..3791edfffeebe 100644 --- a/mm/oom_kill.c +++ b/mm/oom_kill.c @@ -335,7 +335,7 @@ static int oom_kill_task(struct task_struct *p) */ do_each_thread(g, q) { if (q->mm == mm && q->tgid != p->tgid) - force_sig(SIGKILL, p); + force_sig(SIGKILL, q); } while_each_thread(g, q); return 0;