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

From: Ingo Molnar
Date: Sun Feb 02 2020 - 04:23:35 EST



* 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?

Thanks,

Ingo