]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
SPARC64: Fix FPU saving in 64-bit signal handling.
authorDavid S. Miller <davem@davemloft.net>
Tue, 8 Apr 2008 05:24:24 +0000 (22:24 -0700)
committerChris Wright <chrisw@sous-sol.org>
Sat, 19 Apr 2008 01:53:28 +0000 (18:53 -0700)
Upstream commit: 7c3cce978e4f933ac13758ec5d2554fc8d0927d2

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>
Signed-off-by: Chris Wright <chrisw@sous-sol.org>
arch/sparc64/kernel/signal.c

index fb13775b36823b7f5cdbd707026c9782a0aaf291..48afa08ca1aaaccca5c920e736f44c0554103743 100644 (file)
@@ -354,7 +354,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;