1
0
Fork 0

powerpc/traps: Use %lx format in show_signal_msg()

Use %lx format to print registers.  This avoids having two different
formats and avoids checking for MSR_64BIT, improving readability of the
function.

Even though we could have used %px, which is functionally equivalent to %lx
as per Documentation/core-api/printk-formats.rst, it is not semantically
correct because the data printed are not pointers.  And using %px requires
casting data to (void *).

Besides that, %lx matches the format used in show_regs().

Before this patch:

  pandafault[4808]: unhandled signal 11 at 0000000010000718 nip 0000000010000574 lr 00007fff935e7a6c code 2

After this patch:

  pandafault[4732]: unhandled signal 11 at 10000718 nip 10000574 lr 7fff86697a6c code 2

Signed-off-by: Murilo Opsfelder Araujo <muriloo@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
hifive-unleashed-5.1
Murilo Opsfelder Araujo 2018-08-01 18:33:17 -03:00 committed by Michael Ellerman
parent 35a52a10c3
commit 49d8f2011d
1 changed files with 3 additions and 8 deletions

View File

@ -311,20 +311,15 @@ static bool show_unhandled_signals_ratelimited(void)
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_ratelimited())
return;
if (!unhandled_signal(current, signr))
return;
printk(regs->msr & MSR_64BIT ? fmt64 : fmt32,
current->comm, current->pid, signr,
addr, regs->nip, regs->link, code);
pr_info("%s[%d]: unhandled signal %d at %lx nip %lx lr %lx code %x\n",
current->comm, current->pid, signr,
addr, regs->nip, regs->link, code);
}
void _exception_pkey(int signr, struct pt_regs *regs, int code,