powerpc/traps: Print unhandled signals in a separate function
authorMurilo Opsfelder Araujo <muriloo@linux.ibm.com>
Wed, 1 Aug 2018 21:33:15 +0000 (18:33 -0300)
committerMichael Ellerman <mpe@ellerman.id.au>
Tue, 7 Aug 2018 14:32:29 +0000 (00:32 +1000)
Isolate the logic of printing unhandled signals out of _exception_pkey().
No functional change, only code rearrangement.

Signed-off-by: Murilo Opsfelder Araujo <muriloo@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/kernel/traps.c

index 0e17dcb..cbd3dc3 100644 (file)
@@ -301,26 +301,32 @@ void user_single_step_siginfo(struct task_struct *tsk,
        info->si_addr = (void __user *)regs->nip;
 }
 
+static void show_signal_msg(int signr, struct pt_regs *regs, int code,
+                           unsigned long addr)
+{
+       const char fmt32[] = KERN_INFO "%s[%d]: unhandled signal %d " \
+               "at %08lx nip %08lx lr %08lx code %x\n";
+       const char fmt64[] = KERN_INFO "%s[%d]: unhandled signal %d " \
+               "at %016lx nip %016lx lr %016lx code %x\n";
+
+       if (show_unhandled_signals && unhandled_signal(current, signr)) {
+               printk_ratelimited(regs->msr & MSR_64BIT ? fmt64 : fmt32,
+                                  current->comm, current->pid, signr,
+                                  addr, regs->nip, regs->link, code);
+       }
+}
 
 void _exception_pkey(int signr, struct pt_regs *regs, int code,
-               unsigned long addr, int key)
+                    unsigned long addr, int key)
 {
        siginfo_t info;
-       const char fmt32[] = KERN_INFO "%s[%d]: unhandled signal %d " \
-                       "at %08lx nip %08lx lr %08lx code %x\n";
-       const char fmt64[] = KERN_INFO "%s[%d]: unhandled signal %d " \
-                       "at %016lx nip %016lx lr %016lx code %x\n";
 
        if (!user_mode(regs)) {
                die("Exception in kernel mode", regs, signr);
                return;
        }
 
-       if (show_unhandled_signals && unhandled_signal(current, signr)) {
-               printk_ratelimited(regs->msr & MSR_64BIT ? fmt64 : fmt32,
-                                  current->comm, current->pid, signr,
-                                  addr, regs->nip, regs->link, code);
-       }
+       show_signal_msg(signr, regs, code, addr);
 
        if (arch_irqs_disabled() && !arch_irq_disabled_regs(regs))
                local_irq_enable();