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 ad7c9c9..222427a 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));