Re: EFI boot crash regression (was: Re: 5.6-### doesn't boot)

From: Ingo Molnar
Date: Mon Feb 03 2020 - 02:46:58 EST



* Jörg Otte <jrg.otte@xxxxxxxxx> wrote:

> Am So., 2. Feb. 2020 um 10:22 Uhr schrieb Ingo Molnar <mingo@xxxxxxxxxx>:
> >
> >
> > * Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> wrote:
> >
> > > Hello Jörg,
> > >
> > > Could you please try whether the change below fixes the issue?
> > >
> > > diff --git a/arch/x86/platform/efi/efi.c b/arch/x86/platform/efi/efi.c
> > > index 59f7f6d60cf6..ae923ee8e2b4 100644
> > > --- a/arch/x86/platform/efi/efi.c
> > > +++ b/arch/x86/platform/efi/efi.c
> > > @@ -308,7 +308,7 @@ static void __init efi_clean_memmap(void)
> > > .phys_map = efi.memmap.phys_map,
> > > .desc_version = efi.memmap.desc_version,
> > > .desc_size = efi.memmap.desc_size,
> > > - .size = data.desc_size * (efi.memmap.nr_map - n_removal),
> > > + .size = efi.memmap.desc_size * (efi.memmap.nr_map - n_removal),
> > > .flags = 0,
> >
> > Oh, I actually noticed this one, but convinced myself that it's correct,
> > because GCC didn't warn about uninitialized data.
> >
> > But maybe in this weird case data.desc_size as used within its own
> > initializer is zero?
>
> Patch makes my kernel booting again :)

Thank you! I'll send the fix to Linus later today.

Ingo