diff options
author | Will Deacon <will@kernel.org> | 2020-06-15 12:23:16 +0100 |
---|---|---|
committer | Will Deacon <will@kernel.org> | 2020-06-15 16:58:13 +0100 |
commit | 413d3ea6b775d77b2057f13a9af75875eb066156 (patch) | |
tree | f410d6edbfdf484e803fbbdadee6eed734244c88 | |
parent | 1e570f512cbdc5e9e401ba640d9827985c1bea1e (diff) | |
download | linux-413d3ea6b775d77b2057f13a9af75875eb066156.tar.bz2 |
arm64: traps: Dump registers prior to panic() in bad_mode()
When panicing due to an unknown/unhandled exception at EL1, dump the
registers of the faulting context so that it's easier to figure out
what went wrong. In particular, this makes it a lot easier to debug
in-kernel BTI failures since it pretty-prints PSTATE.BTYPE in the crash
log.
Cc: Mark Brown <broonie@kernel.org>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Link: https://lore.kernel.org/r/20200615113458.2884-1-will@kernel.org
Signed-off-by: Will Deacon <will@kernel.org>
-rw-r--r-- | arch/arm64/kernel/traps.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/arm64/kernel/traps.c b/arch/arm64/kernel/traps.c index 50cc30acf106..24f2af70ac2e 100644 --- a/arch/arm64/kernel/traps.c +++ b/arch/arm64/kernel/traps.c @@ -813,6 +813,7 @@ asmlinkage void bad_mode(struct pt_regs *regs, int reason, unsigned int esr) handler[reason], smp_processor_id(), esr, esr_get_class_string(esr)); + __show_regs(regs); local_daif_mask(); panic("bad mode"); } |