aboutsummaryrefslogtreecommitdiffstats
path: root/arch/parisc/kernel/signal.c
diff options
context:
space:
mode:
authorRandolph Chung <tausq@parisc-linux.org>2005-10-21 22:49:47 -0400
committerKyle McMartin <kyle@parisc-linux.org>2005-10-21 22:49:47 -0400
commit40c72f20e89300dfaea28300ee17aa56d230d63f (patch)
tree9303278860122e15e1def56caac7a73a556429c1 /arch/parisc/kernel/signal.c
parenteba917273eb8579dd8ae36f6645518ca5579a2ab (diff)
downloadkernel_samsung_tuna-40c72f20e89300dfaea28300ee17aa56d230d63f.zip
kernel_samsung_tuna-40c72f20e89300dfaea28300ee17aa56d230d63f.tar.gz
kernel_samsung_tuna-40c72f20e89300dfaea28300ee17aa56d230d63f.tar.bz2
[PARISC] Prevent signal loops if we have a problem setting up a frame
2.6.13-rc6-pa2 use force_sigsegv() if we have a problem setting up a frame. This is required to prevent SIGSEGV loops. Signed-off-by: Randolph Chung <tausq@parisc-linux.org> Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
Diffstat (limited to 'arch/parisc/kernel/signal.c')
-rw-r--r--arch/parisc/kernel/signal.c10
1 files changed, 1 insertions, 9 deletions
diff --git a/arch/parisc/kernel/signal.c b/arch/parisc/kernel/signal.c
index 6c905c1..befdfe7 100644
--- a/arch/parisc/kernel/signal.c
+++ b/arch/parisc/kernel/signal.c
@@ -490,15 +490,7 @@ setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info,
give_sigsegv:
DBG(1,"setup_rt_frame: sending SIGSEGV\n");
- if (sig == SIGSEGV)
- ka->sa.sa_handler = SIG_DFL;
- si.si_signo = SIGSEGV;
- si.si_errno = 0;
- si.si_code = SI_KERNEL;
- si.si_pid = current->pid;
- si.si_uid = current->uid;
- si.si_addr = frame;
- force_sig_info(SIGSEGV, &si, current);
+ force_sigsegv(sig, current);
return 0;
}