arm64: fault: Print info about page table structure when dumping pte
authorWill Deacon <will.deacon@arm.com>
Mon, 15 May 2017 14:23:58 +0000 (15:23 +0100)
committerWill Deacon <will.deacon@arm.com>
Mon, 12 Jun 2017 11:33:54 +0000 (12:33 +0100)
Whilst debugging a remote crash, I noticed that show_pte is unhelpful
when it comes to describing the structure of the page table being walked.
This is easily fixed by printing out the page table (swapper vs user),
page size and virtual address size when displaying the PGD address.

Acked-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
arch/arm64/mm/fault.c

index ad7c9c94d3793630d5650ae559496b52bdc42e3f..222427ae23d6caf73b5a2f89d9ff094b58ca1c75 100644 (file)
@@ -104,7 +104,9 @@ void show_pte(unsigned long addr)
                return;
        }
 
-       pr_alert("pgd = %p\n", mm->pgd);
+       pr_alert("%s pgtable: %luk pages, %u-bit VAs, pgd = %p\n",
+                mm == &init_mm ? "swapper" : "user", PAGE_SIZE / SZ_1K,
+                VA_BITS, mm->pgd);
        pgd = pgd_offset(mm, addr);
        pr_alert("[%016lx] *pgd=%016llx", addr, pgd_val(*pgd));