arm64: traps: Add str of description to panic() in die()
authorYue Hu <huyue2@yulong.com>
Tue, 4 Aug 2020 08:53:47 +0000 (16:53 +0800)
committerWill Deacon <will@kernel.org>
Mon, 7 Sep 2020 10:39:56 +0000 (11:39 +0100)
Currently, there are different description strings in die() such as
die("Oops",,), die("Oops - BUG",,). And panic() called by die() will
always show "Fatal exception" or "Fatal exception in interrupt".

Note that panic() will run any panic handler via panic_notifier_list.
And the string above will be formatted and placed in static buf[]
which will be passed to handler.

So panic handler can not distinguish which Oops it is from the buf if
we want to do some things like reserve the string in memory or panic
statistics. It's not benefit to debug. We need to add more codes to
troubleshoot. Let's utilize existing resource to make debug much simpler.

Signed-off-by: Yue Hu <huyue2@yulong.com>
Link: https://lore.kernel.org/r/20200804085347.10720-1-zbestahu@gmail.com
Signed-off-by: Will Deacon <will@kernel.org>
arch/arm64/kernel/traps.c

index 13ebd5ca20706a0746c3a30b48343772e29171b7..af25cedf54e95e0c38d9d3262d5c4fbc31d93e16 100644 (file)
@@ -200,9 +200,9 @@ void die(const char *str, struct pt_regs *regs, int err)
        oops_exit();
 
        if (in_interrupt())
-               panic("Fatal exception in interrupt");
+               panic("%s: Fatal exception in interrupt", str);
        if (panic_on_oops)
-               panic("Fatal exception");
+               panic("%s: Fatal exception", str);
 
        raw_spin_unlock_irqrestore(&die_lock, flags);