diff options
author | Richard Weinberger <richard@nod.at> | 2011-05-24 20:13:04 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-05-25 11:39:42 -0400 |
commit | db271cf03f5fe39feab8e1b1818c0880c7290c5c (patch) | |
tree | 4624b82259d3ea5c9ddf832fb78c8958dcba0e46 /arch | |
parent | 607647ab04cb7c23616fb5c5dc8bad86f410226d (diff) |
um: fix crash while os_dump_core()
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>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/um/os-Linux/process.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/um/os-Linux/process.c b/arch/um/os-Linux/process.c index e0477c3ee894..0c45dc8efb05 100644 --- a/arch/um/os-Linux/process.c +++ b/arch/um/os-Linux/process.c | |||
@@ -253,6 +253,7 @@ void init_new_thread_signals(void) | |||
253 | SA_ONSTACK | SA_RESTART, SIGUSR1, SIGIO, SIGWINCH, SIGALRM, | 253 | SA_ONSTACK | SA_RESTART, SIGUSR1, SIGIO, SIGWINCH, SIGALRM, |
254 | SIGVTALRM, -1); | 254 | SIGVTALRM, -1); |
255 | signal(SIGWINCH, SIG_IGN); | 255 | signal(SIGWINCH, SIG_IGN); |
256 | signal(SIGTERM, SIG_DFL); | ||
256 | } | 257 | } |
257 | 258 | ||
258 | int run_kernel_thread(int (*fn)(void *), void *arg, jmp_buf **jmp_ptr) | 259 | int run_kernel_thread(int (*fn)(void *), void *arg, jmp_buf **jmp_ptr) |