[PATCH] ARM: Adjust backtrace messages to line up with x86 kernel

From: Simon Glass
Date: Tue Jan 17 2012 - 15:16:08 EST


It is nice to print the backtrace message on its own line, and also
regardless of the setting of CONFIG_ARM_UNWIND. This means that tools
which parse the backtrace don't need a special case for the first line.
It also makes it more like the x86 kernel output.

I believe we should also put KERN_EMERG at the start of this. Otherwise
it won't appear in console output (although it will appear in the logs
after a reboot).

The impact of this change is that the log output changes from something
like:

[ 2.861692] 7fe0: 01beb1b8 befcb7d4 0000aebb 40284334 80000010 01be4668 00000000 00000000
[ 2.869866] Backtrace: [<c00bb3f4>] (module_put+0x44/0xc0) from [<c00bdd98>] (sys_init_module+0x186c/0x19c4)
[ 2.881144] [<c00bdd98>] (sys_init_module+0x186c/0x19c4) from [<c0052e00>] (ret_fast_syscall+0x0/0x30)

to:

[ 2.861692] 7fe0: 01beb1b8 befcb7d4 0000aebb 40284334 80000010 01be4668 00000000 00000000
[ 2.869866] Backtrace:
[ 2.872248] [<c00bb3f4>] (module_put+0x44/0xc0) from [<c00bdd98>] (sys_init_module+0x186c/0x19c4)
[ 2.881144] [<c00bdd98>] (sys_init_module+0x186c/0x19c4) from [<c0052e00>] (ret_fast_syscall+0x0/0x30)

(although previously the Backtrace: line didn't appear with CONFIG_ARM_UNWIND
defined)

Signed-off-by: Simon Glass <sjg@xxxxxxxxxxxx>
---
arch/arm/kernel/traps.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/arch/arm/kernel/traps.c b/arch/arm/kernel/traps.c
index 99a5727..78a5bbc 100644
--- a/arch/arm/kernel/traps.c
+++ b/arch/arm/kernel/traps.c
@@ -165,6 +165,7 @@ static void dump_instr(const char *lvl, struct pt_regs *regs)
#ifdef CONFIG_ARM_UNWIND
static inline void dump_backtrace(struct pt_regs *regs, struct task_struct *tsk)
{
+ printk(KERN_EMERG "Backtrace:\n");
unwind_backtrace(regs, tsk);
}
#else
@@ -173,7 +174,7 @@ static void dump_backtrace(struct pt_regs *regs, struct task_struct *tsk)
unsigned int fp, mode;
int ok = 1;

- printk("Backtrace: ");
+ printkK(ERN_EMERG "Backtrace:\n");

if (!tsk)
tsk = current;
--
1.7.7.3

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/