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

From: Thomas Gleixner
Date: Mon Mar 25 2019 - 04:43:13 EST


On Mon, 25 Mar 2019, Baoquan He wrote:

> 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.

Well, then the right thing to do is to think about it proper and replace
the hackery by something well thought out instead of adding duct tape to it
every other day.

Thanks,

tglx