diff options
author | Eric W. Biederman <ebiederm@xmission.com> | 2019-02-06 04:39:11 +0300 |
---|---|---|
committer | Eric W. Biederman <ebiederm@xmission.com> | 2019-05-29 17:31:43 +0300 |
commit | fd65cc848e3f50281eb163e2d54f1e33f28e15bf (patch) | |
tree | 68038a1c1fc4f49df965ccc9de039385f6b30619 /arch/arm/mm/fault.c | |
parent | e9a06509113619938d35181e79e92e370dfd3e00 (diff) | |
download | linux-fd65cc848e3f50281eb163e2d54f1e33f28e15bf.tar.xz |
signal/arm: 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>
Diffstat (limited to 'arch/arm/mm/fault.c')
-rw-r--r-- | arch/arm/mm/fault.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/arch/arm/mm/fault.c b/arch/arm/mm/fault.c index 58f69fa07df9..324def0279b2 100644 --- a/arch/arm/mm/fault.c +++ b/arch/arm/mm/fault.c @@ -157,10 +157,11 @@ __do_kernel_fault(struct mm_struct *mm, unsigned long addr, unsigned int fsr, * 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) +__do_user_fault(unsigned long addr, unsigned int fsr, unsigned int sig, + int code, struct pt_regs *regs) { + struct task_struct *tsk = current; + if (addr > TASK_SIZE) harden_branch_predictor(); @@ -196,7 +197,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); } @@ -392,7 +393,7 @@ retry: 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: |