Re: [PATCH v2 11/25] powerpc/signal: Refactor bad frame logging

From: Joe Perches
Date: Tue Aug 18 2020 - 21:20:00 EST


On Tue, 2020-08-18 at 17:19 +0000, Christophe Leroy wrote:
> The logging of bad frame appears half a dozen of times
> and is pretty similar.
[]
> diff --git a/arch/powerpc/kernel/signal.c b/arch/powerpc/kernel/signal.c
[]
> @@ -355,3 +355,14 @@ static unsigned long get_tm_stackpointer(struct task_struct *tsk)
> #endif
> return ret;
> }
> +
> +static const char fm32[] = KERN_INFO "%s[%d]: bad frame in %s: %p nip %08lx lr %08lx\n";
> +static const char fm64[] = KERN_INFO "%s[%d]: bad frame in %s: %p nip %016lx lr %016lx\n";

Why not remove this and use it in place with
%08lx/%016x used as %px with a case to (void *)?

> +void signal_fault(struct task_struct *tsk, struct pt_regs *regs,
> + const char *where, void __user *ptr)
> +{
> + if (show_unhandled_signals)
> + printk_ratelimited(regs->msr & MSR_64BIT ? fm64 : fm32, tsk->comm,
> + task_pid_nr(tsk), where, ptr, regs->nip, regs->link);

pr_info_ratelimited("%s[%d]: bad frame in %s: %p nip %016lx lr %016lx\n",
tsk->comm, task_pid_nr(tsk), where, ptr,
(void *)regs->nip, (void *)regs->link);