aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm64/mm/fault.c
diff options
context:
space:
mode:
authorWill Deacon <will.deacon@arm.com>2017-05-15 15:23:58 +0100
committerWill Deacon <will.deacon@arm.com>2017-06-12 12:33:54 +0100
commit1eb34b6e5160f20e1889b2551182bf4d61084d6b (patch)
tree1ba2c823db84cb09e7646f109b12a8c9283d870a /arch/arm64/mm/fault.c
parentarm64: mm: print file name of faulting vma (diff)
downloadlinux-dev-1eb34b6e5160f20e1889b2551182bf4d61084d6b.tar.xz
linux-dev-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>
Diffstat (limited to '')
-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));