Hi,
On 8/2/2019 3:59 PM, Dave Young wrote:
Hi,
On 08/02/19 at 03:48pm, kernel test robot wrote:
FYI, we noticed the following commit (built with gcc-7):
commit: 5b51ae969e3d8ab0134ee3c98a769ad6d2cc2e24 ("x86/boot: Call get_rsdp_addr() after console_init()")
https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux.git master
in testcase: boot
on test machine: Intel(R) Core(TM) i3-3220 CPU @ 3.30GHz with 4G memory
The commit broke kexec boot on physical machines, We have to set "nokaslr" to kernel cmdline to avoid the issue.
Does moving line of "sanitize_boot_params(boot_params);" after get_rsdp_addr()
callback work?
It doesn't work with the following patch:
diff --git a/arch/x86/boot/compressed/misc.c
b/arch/x86/boot/compressed/misc.c
index 24e65a0f756d6..a3746e154e971 100644
--- a/arch/x86/boot/compressed/misc.c
+++ b/arch/x86/boot/compressed/misc.c
@@ -351,8 +351,6 @@ asmlinkage __visible void *extract_kernel(void
*rmode, memptr heap,
/* Clear flags intended for solely in-kernel use. */
boot_params->hdr.loadflags &= ~KASLR_FLAG;
- sanitize_boot_params(boot_params);
-
if (boot_params->screen_info.orig_video_mode == 7) {
vidmem = (char *) 0xb0000;
vidport = 0x3b4;
@@ -373,6 +371,8 @@ asmlinkage __visible void *extract_kernel(void
*rmode, memptr heap,
*/
boot_params->acpi_rsdp_addr = get_rsdp_addr();
+ sanitize_boot_params(boot_params);
+
debug_putstr("early console in extract_kernel\n");
free_mem_ptr = heap; /* Heap */
Best Regards,
Rong Chen
_______________________________________________
kexec mailing list
kexec@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/kexec