coredump: zap_threads() must skip kernel threads
authorOleg Nesterov <oleg@tv-sign.ru>
Fri, 25 Jul 2008 08:47:39 +0000 (01:47 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 25 Jul 2008 17:53:39 +0000 (10:53 -0700)
commit15b9f360c0316c06d37c09b02d85565edbaf9dd3
tree5e874b98b6f16ca1f376f5e4bd480da7ae5143b6
parent246bb0b1deb29726990620d8b5e55ca29f331362
coredump: zap_threads() must skip kernel threads

The main loop in zap_threads() must skip kthreads which may use the same
mm.  Otherwise we "kill" this thread erroneously (for example, it can not
fork or exec after that), and the coredumping task stucks in the
TASK_UNINTERRUPTIBLE state forever because of the wrong ->core_waiters
count.

Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Cc: Roland McGrath <roland@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
fs/exec.c