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..
|
* Something tried to access memory that isn't in our memory map..
|
||||||
* User mode accesses just cause a SIGSEGV
|
* User mode accesses just cause a SIGSEGV
|
||||||
*/
|
*/
|
||||||
static void __do_user_fault(struct task_struct *tsk, unsigned long addr,
|
static void __do_user_fault(unsigned long addr, unsigned int fsr,
|
||||||
unsigned int fsr, unsigned int sig, int code,
|
unsigned int sig, int code, struct pt_regs *regs)
|
||||||
struct pt_regs *regs)
|
|
||||||
{
|
{
|
||||||
|
struct task_struct *tsk = current;
|
||||||
|
|
||||||
tsk->thread.address = addr;
|
tsk->thread.address = addr;
|
||||||
tsk->thread.error_code = fsr;
|
tsk->thread.error_code = fsr;
|
||||||
tsk->thread.trap_no = 14;
|
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.
|
* have no context to handle this fault with.
|
||||||
*/
|
*/
|
||||||
if (user_mode(regs))
|
if (user_mode(regs))
|
||||||
__do_user_fault(tsk, addr, fsr, SIGSEGV, SEGV_MAPERR, regs);
|
__do_user_fault(addr, fsr, SIGSEGV, SEGV_MAPERR, regs);
|
||||||
else
|
else
|
||||||
__do_kernel_fault(mm, addr, fsr, regs);
|
__do_kernel_fault(mm, addr, fsr, regs);
|
||||||
}
|
}
|
||||||
|
@ -310,7 +311,7 @@ retry:
|
||||||
code = fault == VM_FAULT_BADACCESS ? SEGV_ACCERR : SEGV_MAPERR;
|
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;
|
return 0;
|
||||||
|
|
||||||
no_context:
|
no_context:
|
||||||
|
|
Loading…
Reference in a new issue