diff options
author | Will Deacon <will.deacon@arm.com> | 2019-05-14 13:25:28 +0200 |
---|---|---|
committer | Will Deacon <will.deacon@arm.com> | 2019-05-14 13:25:28 +0200 |
commit | 48caebf7e1313eb9f0a06fe59a07ac05b38a5806 (patch) | |
tree | a4f3044d9d1b1cfa74531c5c7ad5c4f8d46b2d8f /arch/arm64/mm/fault.c | |
parent | arm64: don't trash config with compat symbol if COMPAT is disabled (diff) | |
download | linux-48caebf7e1313eb9f0a06fe59a07ac05b38a5806.tar.xz linux-48caebf7e1313eb9f0a06fe59a07ac05b38a5806.zip |
arm64: Print physical address of page table base in show_pte()
When dumping the page table in response to an unexpected kernel page
fault, we print the virtual (hashed) address of the page table base, but
display physical addresses for everything else.
Make the page table dumping code in show_pte() consistent, by printing
the page table base pointer as a physical address.
Reported-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Diffstat (limited to 'arch/arm64/mm/fault.c')
-rw-r--r-- | arch/arm64/mm/fault.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/arm64/mm/fault.c b/arch/arm64/mm/fault.c index 0cb0e09995e1..dda234bcc020 100644 --- a/arch/arm64/mm/fault.c +++ b/arch/arm64/mm/fault.c @@ -171,9 +171,10 @@ static void show_pte(unsigned long addr) return; } - pr_alert("%s pgtable: %luk pages, %u-bit VAs, pgdp = %p\n", + pr_alert("%s pgtable: %luk pages, %u-bit VAs, pgdp=%016lx\n", mm == &init_mm ? "swapper" : "user", PAGE_SIZE / SZ_1K, - mm == &init_mm ? VA_BITS : (int) vabits_user, mm->pgd); + mm == &init_mm ? VA_BITS : (int)vabits_user, + (unsigned long)virt_to_phys(mm->pgd)); pgdp = pgd_offset(mm, addr); pgd = READ_ONCE(*pgdp); pr_alert("[%016lx] pgd=%016llx", addr, pgd_val(pgd)); |