linux_dsm_epyc7002/arch/x86/xen
Kirill A. Shutemov 16877a5570 x86/mm: Fix guard hole handling
There is a guard hole at the beginning of the kernel address space, also
used by hypervisors. It occupies 16 PGD entries.

This reserved range is not defined explicitely, it is calculated relative
to other entities: direct mapping and user space ranges.

The calculation got broken by recent changes of the kernel memory layout:
LDT remap range is now mapped before direct mapping and makes the
calculation invalid.

The breakage leads to crash on Xen dom0 boot[1].

Define the reserved range explicitely. It's part of kernel ABI (hypervisors
expect it to be stable) and must not depend on changes in the rest of
kernel memory layout.

[1] https://lists.xenproject.org/archives/html/xen-devel/2018-11/msg03313.html

Fixes: d52888aa27 ("x86/mm: Move LDT remap out of KASLR region on 5-level paging")
Reported-by: Hans van Kranenburg <hans.van.kranenburg@mendix.com>
Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Hans van Kranenburg <hans.van.kranenburg@mendix.com>
Reviewed-by: Juergen Gross <jgross@suse.com>
Cc: bp@alien8.de
Cc: hpa@zytor.com
Cc: dave.hansen@linux.intel.com
Cc: luto@kernel.org
Cc: peterz@infradead.org
Cc: boris.ostrovsky@oracle.com
Cc: bhe@redhat.com
Cc: linux-mm@kvack.org
Cc: xen-devel@lists.xenproject.org
Link: https://lkml.kernel.org/r/20181130202328.65359-2-kirill.shutemov@linux.intel.com
2018-12-11 11:19:24 +01:00
..
apic.c
debugfs.c
debugfs.h
efi.c
enlighten_hvm.c
enlighten_pv.c mm: remove include/linux/bootmem.h 2018-10-31 08:54:16 -07:00
enlighten_pvh.c Merge branch 'x86-grub2-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2018-10-23 16:31:33 +01:00
enlighten.c xen: fixes for 4.20-rc5 2018-12-02 12:15:55 -08:00
grant-table.c
irq.c
Kconfig Merge branch 'x86-paravirt-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2018-10-23 17:54:58 +01:00
Makefile
mmu_hvm.c
mmu_pv.c x86/mm: Fix guard hole handling 2018-12-11 11:19:24 +01:00
mmu.c
mmu.h
multicalls.c xen/x86: add diagnostic printout to xen_mc_flush() in case of error 2018-11-29 17:53:16 +01:00
multicalls.h
p2m.c xen: fixes for 4.20-rc2 2018-11-10 08:58:48 -06:00
pci-swiotlb-xen.c
platform-pci-unplug.c xen/pvh: don't try to unplug emulated devices 2018-10-26 09:16:57 +02:00
pmu.c Merge branch 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2018-10-23 16:16:40 +01:00
pmu.h
setup.c Revert "xen/balloon: Mark unallocated host memory as UNUSABLE" 2018-11-29 17:53:31 +01:00
smp_hvm.c
smp_pv.c x86/stackprotector: Remove the call to boot_init_stack_canary() from cpu_startup_entry() 2018-10-22 04:07:24 +02:00
smp.c
smp.h
spinlock.c x86/xen: cleanup includes in arch/x86/xen/spinlock.c 2018-11-22 16:47:50 +01:00
suspend_hvm.c
suspend_pv.c
suspend.c
time.c
trace.c
vdso.h
vga.c
xen-asm_32.S
xen-asm_64.S x86/entry/64: Use the TSS sp2 slot for SYSCALL/SYSRET scratch space 2018-09-08 11:20:11 +02:00
xen-asm.S
xen-head.S
xen-ops.h
xen-pvh.S xen/pvh: increase early stack size 2018-10-24 10:18:28 +02:00