[PATCH] x86/efi: skip bgrt init for kexec reboot
Matt Fleming
matt at codeblueprint.co.uk
Wed Feb 3 14:53:33 PST 2016
On Thu, 04 Feb, at 05:42:00AM, Dave Young wrote:
>
> On 01/27/16 at 07:20pm, Dave Young wrote:
> > For kexec reboot the bgrt image address could contains random data because
> > we have freed boot service areas in 1st kernel boot phase. One possible
> > result is kmalloc fail in efi_bgrt_init due to large random image size.
> >
> > So change efi_late_init to avoid efi_bgrt_init in case kexec boot.
> >
> > Signed-off-by: Dave Young <dyoung at redhat.com>
> > ---
> > arch/x86/platform/efi/efi.c | 3 ++-
> > 1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > --- linux-x86.orig/arch/x86/platform/efi/efi.c
> > +++ linux-x86/arch/x86/platform/efi/efi.c
> > @@ -531,7 +531,8 @@ void __init efi_init(void)
> >
> > void __init efi_late_init(void)
> > {
> > - efi_bgrt_init();
> > + if (!efi_setup)
> > + efi_bgrt_init();
> > }
> >
> > void __init efi_set_executable(efi_memory_desc_t *md, bool executable)
>
> Matt, opinions about this patch?
Yeah, I'm not happy seeing efi_setup escaping into even more places,
nor am I happy to see more code paths introduced where kexec boot is
special-cased.
I'll reply with more details tomorrow.
More information about the kexec
mailing list