[parisc-linux-cvs] fix for stracing through signal deilvery
Richard Hirst
rhirst@linuxcare.com
Tue, 27 Mar 2001 21:08:28 +0100
Programs running under strace died if they lowered the signal mask
while a signal was pending. This fixes the problem.
===================================================================
RCS file: /home/cvs/parisc/linux/arch/parisc/kernel/signal.c,v
retrieving revision 1.38
diff -u -r1.38 signal.c
--- signal.c 2001/03/23 10:41:08 1.38
+++ signal.c 2001/03/27 20:02:00
@@ -246,6 +246,8 @@
/* regs->iaoq is undefined in the syscall return path */
err |= __put_user(regs->gr[31], &sc->sc_iaoq[0]);
err |= __put_user(regs->gr[31]+4, &sc->sc_iaoq[1]);
+ err |= __put_user(regs->sr[3], &sc->sc_iasq[0]);
+ err |= __put_user(regs->sr[3], &sc->sc_iasq[1]);
#if DEBUG_SIG
printk("setup_sigcontext: iaoq %#lx/%#lx\n", regs->gr[31], regs->gr[31]);
#endif