diff options
author | Steve French <sfrench@us.ibm.com> | 2005-11-16 00:49:04 (GMT) |
---|---|---|
committer | Steve French <sfrench@us.ibm.com> | 2005-11-16 00:49:04 (GMT) |
commit | c12489ad40a9db6b17225e0f38151d41c6175fe8 (patch) | |
tree | cf7ea08c0b3bf106975047c66b8bb0b560cc4e3e /arch/powerpc/kernel/signal_32.c | |
parent | ff7feac9638e162263463edaeb342b4f3b1ce90e (diff) | |
parent | 1e185b97b4364063f1135604b87f8d8469944233 (diff) | |
download | linux-fsl-qoriq-c12489ad40a9db6b17225e0f38151d41c6175fe8.tar.xz |
Merge with /pub/scm/linux/kernel/git/torvalds/linux-2.6.git
Diffstat (limited to 'arch/powerpc/kernel/signal_32.c')
-rw-r--r-- | arch/powerpc/kernel/signal_32.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/powerpc/kernel/signal_32.c b/arch/powerpc/kernel/signal_32.c index 8bdf95b..5a2eba6 100644 --- a/arch/powerpc/kernel/signal_32.c +++ b/arch/powerpc/kernel/signal_32.c @@ -403,8 +403,6 @@ static int save_user_regs(struct pt_regs *regs, struct mcontext __user *frame, ELF_NFPREG * sizeof(double))) return 1; - current->thread.fpscr.val = 0; /* turn off all fp exceptions */ - #ifdef CONFIG_ALTIVEC /* save altivec registers */ if (current->thread.used_vr) { @@ -818,6 +816,9 @@ static int handle_rt_signal(unsigned long sig, struct k_sigaction *ka, goto badframe; regs->link = (unsigned long) frame->tramp; } + + current->thread.fpscr.val = 0; /* turn off all fp exceptions */ + if (put_user(regs->gpr[1], (u32 __user *)newsp)) goto badframe; regs->gpr[1] = newsp; @@ -1097,6 +1098,8 @@ static int handle_signal(unsigned long sig, struct k_sigaction *ka, regs->link = (unsigned long) frame->mctx.tramp; } + current->thread.fpscr.val = 0; /* turn off all fp exceptions */ + if (put_user(regs->gpr[1], (u32 __user *)newsp)) goto badframe; regs->gpr[1] = newsp; |