From: Randolph Chung <tausq@parisc-linux.org>
Date: Sat, 22 Oct 2005 02:49:47 +0000 (-0400)
Subject: [PARISC] Prevent signal loops if we have a problem setting up a frame
X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=40c72f20e89300dfaea28300ee17aa56d230d63f;p=linux.git

[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>
---

diff --git a/arch/parisc/kernel/signal.c b/arch/parisc/kernel/signal.c
index 6c905c128c2a2..befdfe7006166 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;
 }