diff options
author | Richard Weinberger <richard@nod.at> | 2011-05-24 17:13:04 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-05-25 08:39:42 -0700 |
commit | db271cf03f5fe39feab8e1b1818c0880c7290c5c (patch) | |
tree | 4624b82259d3ea5c9ddf832fb78c8958dcba0e46 | |
parent | 607647ab04cb7c23616fb5c5dc8bad86f410226d (diff) | |
download | op-kernel-dev-db271cf03f5fe39feab8e1b1818c0880c7290c5c.zip op-kernel-dev-db271cf03f5fe39feab8e1b1818c0880c7290c5c.tar.gz |
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>
-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 e0477c3..0c45dc8 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) 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) |