From: Bodo Stroesser Masking SIGSEGV in stub_segv_handler is bad. If a SIGSEGV happens while stub_segv_handler is running, the host will force the signal, so the child is killed. This makes stub_segv_handler hard to debug. So, we add SA_NOMASK to the flags in sigaction, to have SIGSEGV unblocked, ebven while the handler runs. Signed-off-by: Bodo Stroesser --- diff -puN arch/um/os-Linux/skas/process.c~fix-SEGV-masking arch/um/os-Linux/skas/process.c --- linux-2.6.12-rc4/arch/um/os-Linux/skas/process.c~fix-SEGV-masking 2005-07-15 13:33:55.240371787 +0200 +++ linux-2.6.12-rc4-root/arch/um/os-Linux/skas/process.c 2005-07-15 13:35:37.379660671 +0200 @@ -182,7 +182,7 @@ static int userspace_tramp(void *stack) (unsigned long) &__syscall_stub_start; set_sigstack((void *) UML_CONFIG_STUB_DATA, page_size()); - set_handler(SIGSEGV, (void *) v, SA_ONSTACK, + set_handler(SIGSEGV, (void *) v, SA_ONSTACK | SA_NOMASK, SIGIO, SIGWINCH, SIGALRM, SIGVTALRM, SIGUSR1, -1); } _