ARM: 9254/1: mm: Provide better message when kernel fault
authorWang Kefeng <wangkefeng.wang@huawei.com>
Tue, 11 Oct 2022 01:34:05 +0000 (02:34 +0100)
committerRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
Mon, 7 Nov 2022 14:19:00 +0000 (14:19 +0000)
If there is a kernel fault, see do_kernel_fault(), we only print
the generic "paging request" or "NULL pointer dereference" message
which don't show read, write or excute information, let's provide
better fault message for them.

Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
arch/arm/mm/fault.c

index 46cccd6..f8fe0ec 100644 (file)
@@ -111,8 +111,9 @@ static void die_kernel_fault(const char *msg, struct mm_struct *mm,
 {
        bust_spinlocks(1);
        pr_alert("8<--- cut here ---\n");
-       pr_alert("Unable to handle kernel %s at virtual address %08lx\n",
-                msg, addr);
+       pr_alert("Unable to handle kernel %s at virtual address %08lx when %s\n",
+                msg, addr, fsr & FSR_LNX_PF ? "execute" :
+                fsr & FSR_WRITE ? "write" : "read");
 
        show_pte(KERN_ALERT, mm, addr);
        die("Oops", regs, fsr);