]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
signal/riscv: Replace do_trap_siginfo with force_sig_fault
authorEric W. Biederman <ebiederm@xmission.com>
Tue, 24 Apr 2018 15:26:11 +0000 (10:26 -0500)
committerEric W. Biederman <ebiederm@xmission.com>
Wed, 25 Apr 2018 15:44:07 +0000 (10:44 -0500)
The function force_sig_fault is just the generic version of
do_trap_siginfo with a (void __user *) instead of an unsigned long
parameter for the address.

So just use force_sig_fault to simplify the code.

Cc: Palmer Dabbelt <palmer@sifive.com>
Cc: Albert Ou <albert@sifive.com>
Cc: linux-riscv@lists.infradead.org
Suggested-by: Christoph Hellwig <hch@infradead.org>
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
arch/riscv/kernel/traps.c

index 3087940008f45a93f60e0afc3b0510399e5574fc..b99d9dd21fd0bfdbe837969d22b01f4f220cc184 100644 (file)
@@ -63,12 +63,6 @@ void die(struct pt_regs *regs, const char *str)
                do_exit(SIGSEGV);
 }
 
-static inline void do_trap_siginfo(int signo, int code,
-       unsigned long addr, struct task_struct *tsk)
-{
-       force_sig_fault(signo, code, (void __user *)addr, tsk);
-}
-
 void do_trap(struct pt_regs *regs, int signo, int code,
        unsigned long addr, struct task_struct *tsk)
 {
@@ -81,7 +75,7 @@ void do_trap(struct pt_regs *regs, int signo, int code,
                show_regs(regs);
        }
 
-       do_trap_siginfo(signo, code, addr, tsk);
+       force_sig_fault(signo, code, (void __user *)addr, tsk);
 }
 
 static void do_trap_error(struct pt_regs *regs, int signo, int code,
@@ -143,7 +137,7 @@ asmlinkage void do_trap_break(struct pt_regs *regs)
        }
 #endif /* CONFIG_GENERIC_BUG */
 
-       do_trap_siginfo(SIGTRAP, TRAP_BRKPT, regs->sepc, current);
+       force_sig_fault(SIGTRAP, TRAP_BRKPT, (void __user *)(regs->sepc), current);
        regs->sepc += 0x4;
 }