Skip to content

Commit

Permalink
arm64: dump: De-constify VA_START and KASAN_SHADOW_START
Browse files Browse the repository at this point in the history
The kernel page table dumper assumes that the placement of VA regions is
constant and determined at compile time. As we are about to introduce
variable VA logic, we need to be able to determine certain regions at
boot time.

Specifically the VA_START and KASAN_SHADOW_START will depend on whether
or not the system is booted with 52-bit kernel VAs.

This patch adds logic to the kernel page table dumper s.t. these regions
can be computed at boot time.

Signed-off-by: Steve Capper <steve.capper@arm.com>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Will Deacon <will@kernel.org>
  • Loading branch information
Steve Capper authored and Will Deacon committed Aug 9, 2019
1 parent 6bd1d0b commit 99426e5
Showing 1 changed file with 16 additions and 3 deletions.
19 changes: 16 additions & 3 deletions arch/arm64/mm/dump.c
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,20 @@
#include <asm/pgtable-hwdef.h>
#include <asm/ptdump.h>

static const struct addr_marker address_markers[] = {

enum address_markers_idx {
PAGE_OFFSET_NR = 0,
VA_START_NR,
#ifdef CONFIG_KASAN
KASAN_START_NR,
#endif
};

static struct addr_marker address_markers[] = {
{ PAGE_OFFSET, "Linear Mapping start" },
{ VA_START, "Linear Mapping end" },
{ 0 /* VA_START */, "Linear Mapping end" },
#ifdef CONFIG_KASAN
{ KASAN_SHADOW_START, "Kasan shadow start" },
{ 0 /* KASAN_SHADOW_START */, "Kasan shadow start" },
{ KASAN_SHADOW_END, "Kasan shadow end" },
#endif
{ MODULES_VADDR, "Modules start" },
Expand Down Expand Up @@ -402,6 +411,10 @@ void ptdump_check_wx(void)

static int ptdump_init(void)
{
address_markers[VA_START_NR].start_address = VA_START;
#ifdef CONFIG_KASAN
address_markers[KASAN_START_NR].start_address = KASAN_SHADOW_START;
#endif
ptdump_initialize();
ptdump_debugfs_register(&kernel_ptdump_info, "kernel_page_tables");
return 0;
Expand Down

0 comments on commit 99426e5

Please sign in to comment.