Re: [PATCH v4] x86/boot: Use efi_setup_data for searching RSDP on kexec-ed kernel

From: Junichi Nomura
Date: Mon Apr 15 2019 - 03:03:07 EST


On 4/12/19 10:35 PM, Borislav Petkov wrote:
> On Fri, Apr 12, 2019 at 10:49:56AM +0200, Borislav Petkov wrote:
>> Now I need to go figure out whether there's a reliable way to know in
>> the kexec kernel that it *is* a kexec kernel.
>
> Actually, thinking about this more, we don't need to know whether the
> kernel was kexeced or not. Why?
>
> Because if it is kexec'ed, kexec(1) passes the required info in
> setup_data. Now, if for whatever reason the kexec'ed kernel fails to
> parse that EFI info and get the systab to figure out the RDSP, then it
> doesn't have any other choice but fail booting.
>
> Because there's no way it can figure out where the EFI runtime has been
> mapped and recover by finding the RDSP from there.
>
> So I think we're perfectly fine with the old approach:
>
> if (!pa)
> pa = kexec_get_rsdp_addr();
>
> if (!pa)
> pa = efi_get_rsdp_addr();

OK. Then I'll go back to v3 and make sure to hang when
something is wrong during kexec boot on EFI system.

--
Jun'ichi Nomura, NEC Corporation / NEC Solution Innovators, Ltd.