um: fix crash while os_dump_core()
Richard Weinberger [Wed, 25 May 2011 00:13:04 +0000 (17:13 -0700)]
os_dump_core() emits SIGTERM to terminate all UML processes.  Kernel
threads have to exit on SIGTERM instead of calling last_ditch_exit().
Multiple calls to last_ditch_exit() can cause a crash.

Signed-off-by: Richard Weinberger <richard@nod.at>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

arch/um/os-Linux/process.c

index e0477c3..0c45dc8 100644 (file)
@@ -253,6 +253,7 @@ void init_new_thread_signals(void)
                    SA_ONSTACK | SA_RESTART, SIGUSR1, SIGIO, SIGWINCH, SIGALRM,
                    SIGVTALRM, -1);
        signal(SIGWINCH, SIG_IGN);
+       signal(SIGTERM, SIG_DFL);
 }
 
 int run_kernel_thread(int (*fn)(void *), void *arg, jmp_buf **jmp_ptr)