[PATCH] x86/boot: Disable RSDP parsing temporarily

Borislav Petkov bp at alien8.de
Fri Apr 19 07:19:52 PDT 2019


Ok,

thinking about this more, we believe it is too late in the release cycle
to keep experimenting so the only thing left to do is the below.

This should bring the situation back to what it was before, at 5.0
times, and we'll have plenty of time now to address and properly fix all
the outstanding issues.

---
From: Borislav Petkov <bp at suse.de>

The original intention to move RDSP parsing very early, before KASLR
does its ranges selection, was to accommodate movable memory regions
machines (CONFIG_MEMORY_HOTREMOVE) to still be able to do memory
hotplug.

However, that broke kexec'ing a kernel on EFI machines because depending
on where the EFI systab was mapped, on at least one machine it isn't
present in the kexec mapping of the second kernel, leading to a triple
fault in the early code.

Fixing this properly requires significantly involved surgery and we
cannot allow ourselves to do that, that close to the merge window.

So disable the RSDP parsing code temporarily until it is fixed properly
in the next release cycle.

Signed-off-by: Borislav Petkov <bp at suse.de>
Cc: Ard Biesheuvel <ard.biesheuvel at linaro.org>
Cc: Baoquan He <bhe at redhat.com>
Cc: Chao Fan <fanc.fnst at cn.fujitsu.com>
Cc: Dave Hansen <dave.hansen at linux.intel.com>
Cc: "H. Peter Anvin" <hpa at zytor.com>
Cc: indou.takao at jp.fujitsu.com
Cc: Ingo Molnar <mingo at redhat.com>
Cc: Juergen Gross <jgross at suse.com>
Cc: kasong at redhat.com
Cc: Kees Cook <keescook at chromium.org>
Cc: "Kirill A. Shutemov" <kirill.shutemov at linux.intel.com>
Cc: msys.mizuma at gmail.com
Cc: Thomas Gleixner <tglx at linutronix.de>
Cc: Tom Lendacky <thomas.lendacky at amd.com>
Cc: x86-ml <x86 at kernel.org>
---
 arch/x86/boot/compressed/misc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/boot/compressed/misc.c b/arch/x86/boot/compressed/misc.c
index c0d6c560df69..5a237e8dbf8d 100644
--- a/arch/x86/boot/compressed/misc.c
+++ b/arch/x86/boot/compressed/misc.c
@@ -352,7 +352,7 @@ asmlinkage __visible void *extract_kernel(void *rmode, memptr heap,
 	boot_params->hdr.loadflags &= ~KASLR_FLAG;
 
 	/* Save RSDP address for later use. */
-	boot_params->acpi_rsdp_addr = get_rsdp_addr();
+	/* boot_params->acpi_rsdp_addr = get_rsdp_addr(); */
 
 	sanitize_boot_params(boot_params);
 
-- 
2.21.0


-- 
Regards/Gruss,
    Boris.

Good mailing practices for 400: avoid top-posting and trim the reply.



More information about the kexec mailing list