diff options
author | Juergen Gross <jgross@suse.com> | 2020-02-21 11:38:51 +0100 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2020-02-29 12:43:10 +0100 |
commit | bba42affa732d6fd5bd5c9678e6deacde2de1547 (patch) | |
tree | 2c581d0973e85fe3912d0721edb8e34323fefe75 /arch/x86 | |
parent | 99bcd4a6e5b8ba201fdd252f1054689884899fee (diff) | |
download | linux-bba42affa732d6fd5bd5c9678e6deacde2de1547.tar.gz linux-bba42affa732d6fd5bd5c9678e6deacde2de1547.tar.bz2 linux-bba42affa732d6fd5bd5c9678e6deacde2de1547.zip |
x86/mm: Fix dump_pagetables with Xen PV
Commit 2ae27137b2db89 ("x86: mm: convert dump_pagetables to use
walk_page_range") broke Xen PV guests as the hypervisor reserved hole in
the memory map was not taken into account.
Fix that by starting the kernel range only at GUARD_HOLE_END_ADDR.
Fixes: 2ae27137b2db89 ("x86: mm: convert dump_pagetables to use walk_page_range")
Reported-by: Julien Grall <julien@xen.org>
Signed-off-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Julien Grall <julien@xen.org>
Link: https://lkml.kernel.org/r/20200221103851.7855-1-jgross@suse.com
Diffstat (limited to 'arch/x86')
-rw-r--r-- | arch/x86/mm/dump_pagetables.c | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/arch/x86/mm/dump_pagetables.c b/arch/x86/mm/dump_pagetables.c index 64229dad7eab..69309cd56fdf 100644 --- a/arch/x86/mm/dump_pagetables.c +++ b/arch/x86/mm/dump_pagetables.c @@ -363,13 +363,8 @@ static void ptdump_walk_pgd_level_core(struct seq_file *m, { const struct ptdump_range ptdump_ranges[] = { #ifdef CONFIG_X86_64 - -#define normalize_addr_shift (64 - (__VIRTUAL_MASK_SHIFT + 1)) -#define normalize_addr(u) ((signed long)((u) << normalize_addr_shift) >> \ - normalize_addr_shift) - {0, PTRS_PER_PGD * PGD_LEVEL_MULT / 2}, - {normalize_addr(PTRS_PER_PGD * PGD_LEVEL_MULT / 2), ~0UL}, + {GUARD_HOLE_END_ADDR, ~0UL}, #else {0, ~0UL}, #endif |