Merge branch 'siginfo-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebieder...
[linux-2.6-block.git] / arch / mips / kernel / traps.c
index ac7159263da071c393f3b8da886ea6b963484f5f..342e41de9d64ee5d2fa99d3ac5997f69c62954d5 100644 (file)
@@ -482,7 +482,7 @@ asmlinkage void do_be(struct pt_regs *regs)
                goto out;
 
        die_if_kernel("Oops", regs);
-       force_sig(SIGBUS, current);
+       force_sig(SIGBUS);
 
 out:
        exception_exit(prev_state);
@@ -705,7 +705,7 @@ asmlinkage void do_ov(struct pt_regs *regs)
        prev_state = exception_enter();
        die_if_kernel("Integer overflow", regs);
 
-       force_sig_fault(SIGFPE, FPE_INTOVF, (void __user *)regs->cp0_epc, current);
+       force_sig_fault(SIGFPE, FPE_INTOVF, (void __user *)regs->cp0_epc);
        exception_exit(prev_state);
 }
 
@@ -733,7 +733,7 @@ void force_fcr31_sig(unsigned long fcr31, void __user *fault_addr,
        else if (fcr31 & FPU_CSR_INE_X)
                si_code = FPE_FLTRES;
 
-       force_sig_fault(SIGFPE, si_code, fault_addr, tsk);
+       force_sig_fault_to_task(SIGFPE, si_code, fault_addr, tsk);
 }
 
 int process_fpemu_return(int sig, void __user *fault_addr, unsigned long fcr31)
@@ -750,7 +750,7 @@ int process_fpemu_return(int sig, void __user *fault_addr, unsigned long fcr31)
                return 1;
 
        case SIGBUS:
-               force_sig_fault(SIGBUS, BUS_ADRERR, fault_addr, current);
+               force_sig_fault(SIGBUS, BUS_ADRERR, fault_addr);
                return 1;
 
        case SIGSEGV:
@@ -761,11 +761,11 @@ int process_fpemu_return(int sig, void __user *fault_addr, unsigned long fcr31)
                else
                        si_code = SEGV_MAPERR;
                up_read(&current->mm->mmap_sem);
-               force_sig_fault(SIGSEGV, si_code, fault_addr, current);
+               force_sig_fault(SIGSEGV, si_code, fault_addr);
                return 1;
 
        default:
-               force_sig(sig, current);
+               force_sig(sig);
                return 1;
        }
 }
@@ -943,11 +943,11 @@ void do_trap_or_bp(struct pt_regs *regs, unsigned int code, int si_code,
                die_if_kernel(b, regs);
                force_sig_fault(SIGFPE,
                                code == BRK_DIVZERO ? FPE_INTDIV : FPE_INTOVF,
-                               (void __user *) regs->cp0_epc, current);
+                               (void __user *) regs->cp0_epc);
                break;
        case BRK_BUG:
                die_if_kernel("Kernel bug detected", regs);
-               force_sig(SIGTRAP, current);
+               force_sig(SIGTRAP);
                break;
        case BRK_MEMU:
                /*
@@ -962,15 +962,15 @@ void do_trap_or_bp(struct pt_regs *regs, unsigned int code, int si_code,
                        return;
 
                die_if_kernel("Math emu break/trap", regs);
-               force_sig(SIGTRAP, current);
+               force_sig(SIGTRAP);
                break;
        default:
                scnprintf(b, sizeof(b), "%s instruction in kernel code", str);
                die_if_kernel(b, regs);
                if (si_code) {
-                       force_sig_fault(SIGTRAP, si_code, NULL, current);
+                       force_sig_fault(SIGTRAP, si_code, NULL);
                } else {
-                       force_sig(SIGTRAP, current);
+                       force_sig(SIGTRAP);
                }
        }
 }
@@ -1063,7 +1063,7 @@ out:
        return;
 
 out_sigsegv:
-       force_sig(SIGSEGV, current);
+       force_sig(SIGSEGV);
        goto out;
 }
 
@@ -1105,7 +1105,7 @@ out:
        return;
 
 out_sigsegv:
-       force_sig(SIGSEGV, current);
+       force_sig(SIGSEGV);
        goto out;
 }
 
@@ -1191,7 +1191,7 @@ no_r2_instr:
        if (unlikely(status > 0)) {
                regs->cp0_epc = old_epc;                /* Undo skip-over.  */
                regs->regs[31] = old31;
-               force_sig(status, current);
+               force_sig(status);
        }
 
 out:
@@ -1220,7 +1220,7 @@ static int default_cu2_call(struct notifier_block *nfb, unsigned long action,
 
        die_if_kernel("COP2: Unhandled kernel unaligned access or invalid "
                              "instruction", regs);
-       force_sig(SIGILL, current);
+       force_sig(SIGILL);
 
        return NOTIFY_OK;
 }
@@ -1383,7 +1383,7 @@ asmlinkage void do_cpu(struct pt_regs *regs)
                if (unlikely(status > 0)) {
                        regs->cp0_epc = old_epc;        /* Undo skip-over.  */
                        regs->regs[31] = old31;
-                       force_sig(status, current);
+                       force_sig(status);
                }
 
                break;
@@ -1403,7 +1403,7 @@ asmlinkage void do_cpu(struct pt_regs *regs)
                 * emulator too.
                 */
                if (raw_cpu_has_fpu || !cpu_has_mips_4_5_64_r2_r6) {
-                       force_sig(SIGILL, current);
+                       force_sig(SIGILL);
                        break;
                }
                /* Fall through.  */
@@ -1437,7 +1437,7 @@ asmlinkage void do_cpu(struct pt_regs *regs)
 #else /* CONFIG_MIPS_FP_SUPPORT */
        case 1:
        case 3:
-               force_sig(SIGILL, current);
+               force_sig(SIGILL);
                break;
 #endif /* CONFIG_MIPS_FP_SUPPORT */
 
@@ -1464,7 +1464,7 @@ asmlinkage void do_msa_fpe(struct pt_regs *regs, unsigned int msacsr)
        local_irq_enable();
 
        die_if_kernel("do_msa_fpe invoked from kernel context!", regs);
-       force_sig(SIGFPE, current);
+       force_sig(SIGFPE);
 out:
        exception_exit(prev_state);
 }
@@ -1477,7 +1477,7 @@ asmlinkage void do_msa(struct pt_regs *regs)
        prev_state = exception_enter();
 
        if (!cpu_has_msa || test_thread_flag(TIF_32BIT_FPREGS)) {
-               force_sig(SIGILL, current);
+               force_sig(SIGILL);
                goto out;
        }
 
@@ -1485,7 +1485,7 @@ asmlinkage void do_msa(struct pt_regs *regs)
 
        err = enable_restore_fp_context(1);
        if (err)
-               force_sig(SIGILL, current);
+               force_sig(SIGILL);
 out:
        exception_exit(prev_state);
 }
@@ -1495,7 +1495,7 @@ asmlinkage void do_mdmx(struct pt_regs *regs)
        enum ctx_state prev_state;
 
        prev_state = exception_enter();
-       force_sig(SIGILL, current);
+       force_sig(SIGILL);
        exception_exit(prev_state);
 }
 
@@ -1521,7 +1521,7 @@ asmlinkage void do_watch(struct pt_regs *regs)
        if (test_tsk_thread_flag(current, TIF_LOAD_WATCH)) {
                mips_read_watch_registers();
                local_irq_enable();
-               force_sig_fault(SIGTRAP, TRAP_HWBKPT, NULL, current);
+               force_sig_fault(SIGTRAP, TRAP_HWBKPT, NULL);
        } else {
                mips_clear_watch_registers();
                local_irq_enable();
@@ -1592,7 +1592,7 @@ asmlinkage void do_mt(struct pt_regs *regs)
        }
        die_if_kernel("MIPS MT Thread exception in kernel", regs);
 
-       force_sig(SIGILL, current);
+       force_sig(SIGILL);
 }
 
 
@@ -1601,7 +1601,7 @@ asmlinkage void do_dsp(struct pt_regs *regs)
        if (cpu_has_dsp)
                panic("Unexpected DSP exception");
 
-       force_sig(SIGILL, current);
+       force_sig(SIGILL);
 }
 
 asmlinkage void do_reserved(struct pt_regs *regs)