Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 14174
b: refs/heads/master
c: cc657f5
h: refs/heads/master
v: v3
  • Loading branch information
Paul Mackerras committed Nov 15, 2005
1 parent d643b2a commit c738efb
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 6 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 493f25ef4087395891c99fcfe2c72e62e293e89f
refs/heads/master: cc657f53928997c65bf2409c45166c6ceee8d306
7 changes: 5 additions & 2 deletions trunk/arch/powerpc/kernel/signal_32.c
Original file line number Diff line number Diff line change
Expand Up @@ -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) {
Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -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;
Expand Down
6 changes: 3 additions & 3 deletions trunk/arch/powerpc/kernel/signal_64.c
Original file line number Diff line number Diff line change
Expand Up @@ -131,9 +131,6 @@ static long setup_sigcontext(struct sigcontext __user *sc, struct pt_regs *regs,

flush_fp_to_thread(current);

/* Make sure signal doesn't get spurrious FP exceptions */
current->thread.fpscr.val = 0;

#ifdef CONFIG_ALTIVEC
err |= __put_user(v_regs, &sc->v_regs);

Expand Down Expand Up @@ -423,6 +420,9 @@ static int setup_rt_frame(int signr, struct k_sigaction *ka, siginfo_t *info,
if (err)
goto badframe;

/* Make sure signal handler doesn't get spurious FP exceptions */
current->thread.fpscr.val = 0;

/* Set up to return from userspace. */
if (vdso64_rt_sigtramp && current->thread.vdso_base) {
regs->link = current->thread.vdso_base + vdso64_rt_sigtramp;
Expand Down

0 comments on commit c738efb

Please sign in to comment.