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>
This commit is contained in:
@@ -338,7 +338,7 @@ static int __kprobes hw_breakpoint_handler(struct die_args *args)
|
||||
/* Deliver the signal to userspace */
|
||||
if (!arch_check_bp_in_kernelspace(&bp->hw.info)) {
|
||||
force_sig_fault(SIGTRAP, TRAP_HWBKPT,
|
||||
(void __user *)NULL, current);
|
||||
(void __user *)NULL);
|
||||
}
|
||||
|
||||
rcu_read_unlock();
|
||||
|
@@ -533,7 +533,7 @@ uspace_segv:
|
||||
"access (PC %lx PR %lx)\n", current->comm, regs->pc,
|
||||
regs->pr);
|
||||
|
||||
force_sig_fault(SIGBUS, si_code, (void __user *)address, current);
|
||||
force_sig_fault(SIGBUS, si_code, (void __user *)address);
|
||||
} else {
|
||||
inc_unaligned_kernel_access();
|
||||
|
||||
@@ -603,7 +603,7 @@ asmlinkage void do_divide_error(unsigned long r4)
|
||||
/* Let gcc know unhandled cases don't make it past here */
|
||||
return;
|
||||
}
|
||||
force_sig_fault(SIGFPE, code, NULL, current);
|
||||
force_sig_fault(SIGFPE, code, NULL);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@@ -560,7 +560,7 @@ static int ieee_fpe_handler(struct pt_regs *regs)
|
||||
task_thread_info(tsk)->status |= TS_USEDFPU;
|
||||
} else {
|
||||
force_sig_fault(SIGFPE, FPE_FLTINV,
|
||||
(void __user *)regs->pc, current);
|
||||
(void __user *)regs->pc);
|
||||
}
|
||||
|
||||
regs->pc = nextpc;
|
||||
|
@@ -41,7 +41,7 @@ static inline int notify_page_fault(struct pt_regs *regs, int trap)
|
||||
static void
|
||||
force_sig_info_fault(int si_signo, int si_code, unsigned long address)
|
||||
{
|
||||
force_sig_fault(si_signo, si_code, (void __user *)address, current);
|
||||
force_sig_fault(si_signo, si_code, (void __user *)address);
|
||||
}
|
||||
|
||||
/*
|
||||
|
Reference in New Issue
Block a user