OSDN Git Service

signal/sh: Remove tsk parameter from force_sig_info_fault
authorEric W. Biederman <ebiederm@xmission.com>
Wed, 6 Feb 2019 00:38:15 +0000 (18:38 -0600)
committerEric W. Biederman <ebiederm@xmission.com>
Wed, 29 May 2019 14:31:42 +0000 (09:31 -0500)
The force_sig_info_fault function is always called with tsk == current.
Make that explicit by removing the tsk parameter.

This also makes it clear that the sh force_sig_info_fault passes
current into force_sig_fault.

Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
arch/sh/mm/fault.c

index 6defd2c..851a3cb 100644 (file)
@@ -39,10 +39,9 @@ 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,
-                    struct task_struct *tsk)
+force_sig_info_fault(int si_signo, int si_code, unsigned long address)
 {
-       force_sig_fault(si_signo, si_code, (void __user *)address, tsk);
+       force_sig_fault(si_signo, si_code, (void __user *)address, current);
 }
 
 /*
@@ -244,8 +243,6 @@ static void
 __bad_area_nosemaphore(struct pt_regs *regs, unsigned long error_code,
                       unsigned long address, int si_code)
 {
-       struct task_struct *tsk = current;
-
        /* User mode accesses just cause a SIGSEGV */
        if (user_mode(regs)) {
                /*
@@ -253,7 +250,7 @@ __bad_area_nosemaphore(struct pt_regs *regs, unsigned long error_code,
                 */
                local_irq_enable();
 
-               force_sig_info_fault(SIGSEGV, si_code, address, tsk);
+               force_sig_info_fault(SIGSEGV, si_code, address);
 
                return;
        }
@@ -308,7 +305,7 @@ do_sigbus(struct pt_regs *regs, unsigned long error_code, unsigned long address)
        if (!user_mode(regs))
                no_context(regs, error_code, address);
 
-       force_sig_info_fault(SIGBUS, BUS_ADRERR, address, tsk);
+       force_sig_info_fault(SIGBUS, BUS_ADRERR, address);
 }
 
 static noinline int