This patch set narrows the valid space addressed by the page table level2_kernel_pgt to only contain ranges checked against the "usable RAM" list provided by the BIOS.
Prior to this, some larger than needed mappings were occasionally crossing over into spaces marked reserved, allowing the processor to access these reserved spaces, which were caught by the hardware and caused BIOS to halt on our platform (UV). Changes since v1: * Cover letter added because there's now two patches. * Patch 1: Added comment and re-worked changelog text. * Patch 2: New change requested by Dave Hansen to handle the case that the mapping of the last PMD page for the kernel image could cross a reserved region boundary. Changes since v2: * Patch 1: Added further inline comments. * Patch 2: None. Steve Wahl (2): x86/boot/64: Make level2_kernel_pgt pages invalid outside kernel area. x86/boot/64: round memory hole size up to next PMD page. arch/x86/boot/compressed/misc.c | 25 +++++++++++++++++++------ arch/x86/kernel/head64.c | 22 ++++++++++++++++++++-- 2 files changed, 39 insertions(+), 8 deletions(-) -- 2.21.0 -- Steve Wahl, Hewlett Packard Enterprise