ARM: dump pgd, pmd and pte states on unhandled data abort faults
authorRussell King <rmk+kernel@arm.linux.org.uk>
Tue, 10 Mar 2015 19:40:55 +0000 (19:40 +0000)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Tue, 10 Mar 2015 19:54:56 +0000 (19:54 +0000)
It can be useful to dump the page table entries when an unhandled data
abort fault occurs.  This can aid debugging of these situations, for
example, a STREX instruction causing an external abort on non-linefetch
fault, as has been reported recently.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/mm/fault.c

index a982dc3190dfb3a841bbe196f76f58cdbb554f84..6333d9c178757fe4f365b8e765b2a9ea75e2b80b 100644 (file)
@@ -552,6 +552,7 @@ do_DataAbort(unsigned long addr, unsigned int fsr, struct pt_regs *regs)
 
        pr_alert("Unhandled fault: %s (0x%03x) at 0x%08lx\n",
                inf->name, fsr, addr);
+       show_pte(current->mm, addr);
 
        info.si_signo = inf->sig;
        info.si_errno = 0;