aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips/kernel/traps.c
diff options
context:
space:
mode:
authorEric W. Biederman <ebiederm@xmission.com>2019-05-23 12:04:24 -0400
committerEric W. Biederman <ebiederm@xmission.com>2019-05-29 10:31:43 -0400
commit2e1661d2673667d886cd40ad9f414cb6db48d8da (patch)
tree5a2c32eb8a5c575bfb5c7013f5d9d427f5c06c34 /arch/mips/kernel/traps.c
parent91ca180dbdd687d45fe4aab055b02d29c91b90df (diff)
signal: Remove the task parameter from force_sig_fault
As synchronous exceptions really only make sense against the current task (otherwise how are you synchronous) remove the task parameter from from force_sig_fault to make it explicit that is what is going on. The two known exceptions that deliver a synchronous exception to a stopped ptraced task have already been changed to force_sig_fault_to_task. The callers have been changed with the following emacs regular expression (with obvious variations on the architectures that take more arguments) to avoid typos: force_sig_fault[(]\([^,]+\)[,]\([^,]+\)[,]\([^,]+\)[,]\W+current[)] -> force_sig_fault(\1,\2,\3) Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
Diffstat (limited to 'arch/mips/kernel/traps.c')
-rw-r--r--arch/mips/kernel/traps.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/arch/mips/kernel/traps.c b/arch/mips/kernel/traps.c
index 62df48b6fb46..be4a7b25269c 100644
--- a/arch/mips/kernel/traps.c
+++ b/arch/mips/kernel/traps.c
@@ -705,7 +705,7 @@ asmlinkage void do_ov(struct pt_regs *regs)
705 prev_state = exception_enter(); 705 prev_state = exception_enter();
706 die_if_kernel("Integer overflow", regs); 706 die_if_kernel("Integer overflow", regs);
707 707
708 force_sig_fault(SIGFPE, FPE_INTOVF, (void __user *)regs->cp0_epc, current); 708 force_sig_fault(SIGFPE, FPE_INTOVF, (void __user *)regs->cp0_epc);
709 exception_exit(prev_state); 709 exception_exit(prev_state);
710} 710}
711 711
@@ -750,7 +750,7 @@ int process_fpemu_return(int sig, void __user *fault_addr, unsigned long fcr31)
750 return 1; 750 return 1;
751 751
752 case SIGBUS: 752 case SIGBUS:
753 force_sig_fault(SIGBUS, BUS_ADRERR, fault_addr, current); 753 force_sig_fault(SIGBUS, BUS_ADRERR, fault_addr);
754 return 1; 754 return 1;
755 755
756 case SIGSEGV: 756 case SIGSEGV:
@@ -761,7 +761,7 @@ int process_fpemu_return(int sig, void __user *fault_addr, unsigned long fcr31)
761 else 761 else
762 si_code = SEGV_MAPERR; 762 si_code = SEGV_MAPERR;
763 up_read(&current->mm->mmap_sem); 763 up_read(&current->mm->mmap_sem);
764 force_sig_fault(SIGSEGV, si_code, fault_addr, current); 764 force_sig_fault(SIGSEGV, si_code, fault_addr);
765 return 1; 765 return 1;
766 766
767 default: 767 default:
@@ -943,7 +943,7 @@ void do_trap_or_bp(struct pt_regs *regs, unsigned int code, int si_code,
943 die_if_kernel(b, regs); 943 die_if_kernel(b, regs);
944 force_sig_fault(SIGFPE, 944 force_sig_fault(SIGFPE,
945 code == BRK_DIVZERO ? FPE_INTDIV : FPE_INTOVF, 945 code == BRK_DIVZERO ? FPE_INTDIV : FPE_INTOVF,
946 (void __user *) regs->cp0_epc, current); 946 (void __user *) regs->cp0_epc);
947 break; 947 break;
948 case BRK_BUG: 948 case BRK_BUG:
949 die_if_kernel("Kernel bug detected", regs); 949 die_if_kernel("Kernel bug detected", regs);
@@ -968,7 +968,7 @@ void do_trap_or_bp(struct pt_regs *regs, unsigned int code, int si_code,
968 scnprintf(b, sizeof(b), "%s instruction in kernel code", str); 968 scnprintf(b, sizeof(b), "%s instruction in kernel code", str);
969 die_if_kernel(b, regs); 969 die_if_kernel(b, regs);
970 if (si_code) { 970 if (si_code) {
971 force_sig_fault(SIGTRAP, si_code, NULL, current); 971 force_sig_fault(SIGTRAP, si_code, NULL);
972 } else { 972 } else {
973 force_sig(SIGTRAP); 973 force_sig(SIGTRAP);
974 } 974 }
@@ -1521,7 +1521,7 @@ asmlinkage void do_watch(struct pt_regs *regs)
1521 if (test_tsk_thread_flag(current, TIF_LOAD_WATCH)) { 1521 if (test_tsk_thread_flag(current, TIF_LOAD_WATCH)) {
1522 mips_read_watch_registers(); 1522 mips_read_watch_registers();
1523 local_irq_enable(); 1523 local_irq_enable();
1524 force_sig_fault(SIGTRAP, TRAP_HWBKPT, NULL, current); 1524 force_sig_fault(SIGTRAP, TRAP_HWBKPT, NULL);
1525 } else { 1525 } else {
1526 mips_clear_watch_registers(); 1526 mips_clear_watch_registers();
1527 local_irq_enable(); 1527 local_irq_enable();