diff mbox series

arm64: mm: decode xFSC in mem_abort_decode()

Message ID 20210608123742.11921-1-mark.rutland@arm.com (mailing list archive)
State New, archived
Headers show
Series arm64: mm: decode xFSC in mem_abort_decode() | expand

Commit Message

Mark Rutland June 8, 2021, 12:37 p.m. UTC
It would be helpful if mem_abort_decode() could decode the DFSC/IFSC, as
this can make it easier to identify common bugs (e.g. accesses which
trigger alignment faults) without having to manually decode the xFSC
value.

Decode the xFSC in mem_abort_decode().

Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Robin Murphy <wobin.murphy@arm.com>
Cc: Will Deacon <will@kernel.org>
---
 arch/arm64/mm/fault.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Will Deacon June 8, 2021, 1:21 p.m. UTC | #1
On Tue, 8 Jun 2021 13:37:42 +0100, Mark Rutland wrote:
> It would be helpful if mem_abort_decode() could decode the DFSC/IFSC, as
> this can make it easier to identify common bugs (e.g. accesses which
> trigger alignment faults) without having to manually decode the xFSC
> value.
> 
> Decode the xFSC in mem_abort_decode().

Applied to arm64 (for-next/mm), thanks!

[1/1] arm64: mm: decode xFSC in mem_abort_decode()
      https://git.kernel.org/arm64/c/392eec313f29

Cheers,
Mark Rutland June 8, 2021, 1:55 p.m. UTC | #2
On Tue, Jun 08, 2021 at 02:21:52PM +0100, Will Deacon wrote:
> On Tue, 8 Jun 2021 13:37:42 +0100, Mark Rutland wrote:
> > It would be helpful if mem_abort_decode() could decode the DFSC/IFSC, as
> > this can make it easier to identify common bugs (e.g. accesses which
> > trigger alignment faults) without having to manually decode the xFSC
> > value.
> > 
> > Decode the xFSC in mem_abort_decode().
> 
> Applied to arm64 (for-next/mm), thanks!
> 
> [1/1] arm64: mm: decode xFSC in mem_abort_decode()
>       https://git.kernel.org/arm64/c/392eec313f29

Thanks!

Somehow I typo'd Robin's email address in the Cc list. If it's possible
to fix that up in the patch, that'd be great. If that's a pain, no
worries.

I'll go find a keyboard I can actually handle...

Mark.
diff mbox series

Patch

diff --git a/arch/arm64/mm/fault.c b/arch/arm64/mm/fault.c
index c10bf749c233..2fba5da62104 100644
--- a/arch/arm64/mm/fault.c
+++ b/arch/arm64/mm/fault.c
@@ -99,6 +99,8 @@  static void mem_abort_decode(unsigned int esr)
 	pr_alert("  EA = %lu, S1PTW = %lu\n",
 		 (esr & ESR_ELx_EA) >> ESR_ELx_EA_SHIFT,
 		 (esr & ESR_ELx_S1PTW) >> ESR_ELx_S1PTW_SHIFT);
+	pr_alert("  FSC = 0x%02x: %s\n", (esr & ESR_ELx_FSC),
+		 esr_to_fault_info(esr)->name);
 
 	if (esr_is_data_abort(esr))
 		data_abort_decode(esr);