diff options
author | David S. Miller <davem@davemloft.net> | 2008-04-04 00:07:24 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-04-04 00:07:24 +0200 |
commit | 7c3cce978e4f933ac13758ec5d2554fc8d0927d2 (patch) | |
tree | 81cb39729bcf86905d268dc85f1cae02d278ce6d | |
parent | sparc64: remove unused calc_npages() in iommu_common.h (diff) | |
download | linux-7c3cce978e4f933ac13758ec5d2554fc8d0927d2.tar.xz linux-7c3cce978e4f933ac13758ec5d2554fc8d0927d2.zip |
[SPARC64]: Fix FPU saving in 64-bit signal handling.
The calculation of the FPU reg save area pointer
was wrong.
Based upon an OOPS report from Tom Callaway.
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | arch/sparc64/kernel/signal.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/sparc64/kernel/signal.c b/arch/sparc64/kernel/signal.c index 94a9d64208ee..9d51956e8e2f 100644 --- a/arch/sparc64/kernel/signal.c +++ b/arch/sparc64/kernel/signal.c @@ -357,7 +357,7 @@ static int invalid_frame_pointer(void __user *fp, int fplen) static inline int save_fpu_state(struct pt_regs *regs, __siginfo_fpu_t __user *fpu) { - unsigned long *fpregs = (unsigned long *)(regs+1); + unsigned long *fpregs = current_thread_info()->fpregs; unsigned long fprs; int err = 0; |