signal/unicore32: Remove tsk parameter from __do_user_fault
The __do_user_fault function is always called with tsk == current. Make that obvious by removing the tsk parameter. This makes it clear that __do_user_fault calls force_sig_fault on the current task. Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
This commit is contained in:
parent
fd65cc848e
commit
ec74e9205e
|
@ -116,10 +116,11 @@ static void __do_kernel_fault(struct mm_struct *mm, unsigned long addr,
|
|||
* Something tried to access memory that isn't in our memory map..
|
||||
* User mode accesses just cause a SIGSEGV
|
||||
*/
|
||||
static void __do_user_fault(struct task_struct *tsk, unsigned long addr,
|
||||
unsigned int fsr, unsigned int sig, int code,
|
||||
struct pt_regs *regs)
|
||||
static void __do_user_fault(unsigned long addr, unsigned int fsr,
|
||||
unsigned int sig, int code, struct pt_regs *regs)
|
||||
{
|
||||
struct task_struct *tsk = current;
|
||||
|
||||
tsk->thread.address = addr;
|
||||
tsk->thread.error_code = fsr;
|
||||
tsk->thread.trap_no = 14;
|
||||
|
@ -136,7 +137,7 @@ void do_bad_area(unsigned long addr, unsigned int fsr, struct pt_regs *regs)
|
|||
* have no context to handle this fault with.
|
||||
*/
|
||||
if (user_mode(regs))
|
||||
__do_user_fault(tsk, addr, fsr, SIGSEGV, SEGV_MAPERR, regs);
|
||||
__do_user_fault(addr, fsr, SIGSEGV, SEGV_MAPERR, regs);
|
||||
else
|
||||
__do_kernel_fault(mm, addr, fsr, regs);
|
||||
}
|
||||
|
@ -310,7 +311,7 @@ static int do_pf(unsigned long addr, unsigned int fsr, struct pt_regs *regs)
|
|||
code = fault == VM_FAULT_BADACCESS ? SEGV_ACCERR : SEGV_MAPERR;
|
||||
}
|
||||
|
||||
__do_user_fault(tsk, addr, fsr, sig, code, regs);
|
||||
__do_user_fault(addr, fsr, sig, code, regs);
|
||||
return 0;
|
||||
|
||||
no_context:
|
||||
|
|
Loading…
Reference in New Issue