Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ec74e920 authored by Eric W. Biederman's avatar Eric W. Biederman
Browse files

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: default avatar"Eric W. Biederman" <ebiederm@xmission.com>
parent fd65cc84
Loading
Loading
Loading
Loading
+6 −5
Original line number Diff line number Diff line
@@ -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: