[PATCH v2] x86/dumpstack: uniform die messages prompt

From: alexs
Date: Fri Feb 02 2024 - 02:42:30 EST


From: Alex Shi <alexs@xxxxxxxxxx>

panic() has a uniform prompt, like "Kernel panic - not syncing:". That's
easy to indicate a panic there. But die() message doesn't have.

We died thousands machine with very different reasons weekly. w/o a prompt
in dmesg, it's hard to write scripts to collect and anaylis the die reasons.
That makes admins' life pretty hard.

A uniform die() prompt could make the life of system administrators far more
easier.

Signed-off-by: Alex Shi <alexs@xxxxxxxxxx>
To: linux-kernel@xxxxxxxxxxxxxxx
To: "H. Peter Anvin" <hpa@xxxxxxxxx>
To: x86@xxxxxxxxxx
To: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx>
To: Borislav Petkov <bp@xxxxxxxxx>
To: Ingo Molnar <mingo@xxxxxxxxxx>
To: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
To: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
To: Josh Poimboeuf <jpoimboe@xxxxxxxxxx>
---
arch/x86/kernel/dumpstack.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/arch/x86/kernel/dumpstack.c b/arch/x86/kernel/dumpstack.c
index f18ca44c904b..e9ad413d21f8 100644
--- a/arch/x86/kernel/dumpstack.c
+++ b/arch/x86/kernel/dumpstack.c
@@ -393,6 +393,8 @@ void oops_end(unsigned long flags, struct pt_regs *regs, int signr)
}
NOKPROBE_SYMBOL(oops_end);

+#define DIE_PROMPT "DIE:\n"
+
static void __die_header(const char *str, struct pt_regs *regs, long err)
{
const char *pr = "";
@@ -405,8 +407,8 @@ static void __die_header(const char *str, struct pt_regs *regs, long err)
pr = IS_ENABLED(CONFIG_PREEMPT_RT) ? " PREEMPT_RT" : " PREEMPT";

printk(KERN_DEFAULT
- "%s: %04lx [#%d]%s%s%s%s%s\n", str, err & 0xffff, ++die_counter,
- pr,
+ DIE_PROMPT "%s: %04lx [#%d]%s%s%s%s%s\n", str, err & 0xffff,
+ ++die_counter, pr,
IS_ENABLED(CONFIG_SMP) ? " SMP" : "",
debug_pagealloc_enabled() ? " DEBUG_PAGEALLOC" : "",
IS_ENABLED(CONFIG_KASAN) ? " KASAN" : "",
--
2.43.0