Merge branches 'misc', 'sa1100-for-next' and 'spectre' into for-linus
[linux-2.6-microblaze.git] / arch / arm / vfp / vfpmodule.c
index 15bc3cf..ee7b079 100644 (file)
@@ -216,14 +216,6 @@ static struct notifier_block vfp_notifier_block = {
  */
 static void vfp_raise_sigfpe(unsigned int sicode, struct pt_regs *regs)
 {
-       siginfo_t info;
-
-       memset(&info, 0, sizeof(info));
-
-       info.si_signo = SIGFPE;
-       info.si_code = sicode;
-       info.si_addr = (void __user *)(instruction_pointer(regs) - 4);
-
        /*
         * This is the same as NWFPE, because it's not clear what
         * this is used for
@@ -231,7 +223,9 @@ static void vfp_raise_sigfpe(unsigned int sicode, struct pt_regs *regs)
        current->thread.error_code = 0;
        current->thread.trap_no = 6;
 
-       send_sig_info(SIGFPE, &info, current);
+       send_sig_fault(SIGFPE, sicode,
+                      (void __user *)(instruction_pointer(regs) - 4),
+                      current);
 }
 
 static void vfp_panic(char *reason, u32 inst)
@@ -257,7 +251,7 @@ static void vfp_raise_exceptions(u32 exceptions, u32 inst, u32 fpscr, struct pt_
 
        if (exceptions == VFP_EXCEPTION_ERROR) {
                vfp_panic("unhandled bounce", inst);
-               vfp_raise_sigfpe(FPE_FIXME, regs);
+               vfp_raise_sigfpe(FPE_FLTINV, regs);
                return;
        }