Re: [PATCH] x86/boot: Use EFI setup data if provided

From: Baoquan He
Date: Mon Mar 25 2019 - 04:21:30 EST


On 03/25/19 at 08:53am, Borislav Petkov wrote:
> On Mon, Mar 25, 2019 at 03:27:10PM +0800, Baoquan He wrote:
> > Kexec kernel also need to get rsdp to get SRAT tables so that KASLR can
> > avoid those hotpluggable regions in boot compression stage.
> >
> > The kexec_file_load has filled in acpi_rsdp_addr of kexec kernel in
> > below code. It will return direclty in get_rsdp_addr() since
> > acpi_rsdp_addr is got from boot_params->acpi_rsdp_addr.
> >
> > arch/x86/kernel/kexec-bzimage64.c <<setup_boot_parameters>>
> > params->acpi_rsdp_addr = boot_params.acpi_rsdp_addr;
> >
> > The other interface, kexec_load, its boot_params filling is done in user
> > space kexec_tools. And we haven't made the acpi_rsdp_addr filling yet.
> > And the old kexec_tools utility can also cause the new kexec kernel to
> > search efi rspd pointer even thought it's fixed.
>
> Yes, kexec is a pile of ugly and fragile hackery.

Well, yes, we have to admit that, since kexec is based on hacking.
It never miss chance to give us bumps all over the head.

If it hasn't been changed to cater the kernel iamge verification, the
kexec_load is enough to serve, and maintaining most of codes in user
space won't impact other component.

Thanks
Baoquan