summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWill Deacon <will.deacon@arm.com>2017-05-15 16:23:58 +0200
committerWill Deacon <will.deacon@arm.com>2017-06-12 13:33:54 +0200
commit1eb34b6e5160f20e1889b2551182bf4d61084d6b (patch)
tree1ba2c823db84cb09e7646f109b12a8c9283d870a
parentarm64: mm: print file name of faulting vma (diff)
downloadlinux-1eb34b6e5160f20e1889b2551182bf4d61084d6b.tar.xz
linux-1eb34b6e5160f20e1889b2551182bf4d61084d6b.zip
arm64: fault: Print info about page table structure when dumping pte
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>
-rw-r--r--arch/arm64/mm/fault.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/arm64/mm/fault.c b/arch/arm64/mm/fault.c
index ad7c9c94d379..222427ae23d6 100644
--- a/arch/arm64/mm/fault.c
+++ b/arch/arm64/mm/fault.c
@@ -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));