mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [patch 4/5] s390: rt_sigreturn fix.
@ 2005-11-21 17:48 Martin Schwidefsky
  0 siblings, 0 replies; only message in thread
From: Martin Schwidefsky @ 2005-11-21 17:48 UTC (permalink / raw)
  To: akpm, clg, linux-kernel

From: Cedric Le Goater <clg@fr.ibm.com>

[patch 4/5] s390: rt_sigreturn fix.

Check return code of do_sigaltstack and force a SIGSEGV
if it is -EFAULT.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Cedric Le Goater <clg@fr.ibm.com>

---

 arch/s390/kernel/compat_signal.c |    2 --
 arch/s390/kernel/signal.c        |    6 +++---
 2 files changed, 3 insertions(+), 5 deletions(-)

diff -urpN linux-2.6/arch/s390/kernel/compat_signal.c linux-2.6-patched/arch/s390/kernel/compat_signal.c
--- linux-2.6/arch/s390/kernel/compat_signal.c	2005-10-28 02:02:08.000000000 +0200
+++ linux-2.6-patched/arch/s390/kernel/compat_signal.c	2005-11-21 18:40:07.000000000 +0100
@@ -467,8 +467,6 @@ asmlinkage long sys32_rt_sigreturn(struc
 	if (err)
 		goto badframe; 
 
-	/* It is more difficult to avoid calling this function than to
-	   call it and ignore errors.  */
 	set_fs (KERNEL_DS);
 	do_sigaltstack((stack_t __user *)&st, NULL, regs->gprs[15]);
 	set_fs (old_fs);
diff -urpN linux-2.6/arch/s390/kernel/signal.c linux-2.6-patched/arch/s390/kernel/signal.c
--- linux-2.6/arch/s390/kernel/signal.c	2005-10-28 02:02:08.000000000 +0200
+++ linux-2.6-patched/arch/s390/kernel/signal.c	2005-11-21 18:40:07.000000000 +0100
@@ -254,9 +254,9 @@ asmlinkage long sys_rt_sigreturn(struct 
 	if (restore_sigregs(regs, &frame->uc.uc_mcontext))
 		goto badframe;
 
-	/* It is more difficult to avoid calling this function than to
-	   call it and ignore errors.  */
-	do_sigaltstack(&frame->uc.uc_stack, NULL, regs->gprs[15]);
+	if (do_sigaltstack(&frame->uc.uc_stack, NULL,
+			   regs->gprs[15]) == -EFAULT)
+		goto badframe;
 	return regs->gprs[2];
 
 badframe:

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2005-11-21 17:49 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-11-21 17:48 [patch 4/5] s390: rt_sigreturn fix Martin Schwidefsky

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®