Re: [PATCH] x86/efi Fix regression in efi_arch_mem_reserve

From: Matt Fleming
Date: Wed Dec 21 2016 - 17:31:01 EST


On Wed, 21 Dec, at 02:11:38PM, Petr Oros wrote:
> Booting on EFI with ESRT table has been stop since commit:
> 8e80632 efi/esrt: Use efi_mem_reserve() and avoid a kmalloc()
>
> This is caused by this commit:
> 816e761 efi: Allow drivers to reserve boot services forever
>
> Problem is, that efi_memmap_insert need memory aligned
> on EFI_PAGE_SIZE. If memory not aligned, efi_memmap_insert
> just return and let efi.memmap in inconsistent state.
> This breaking boot.
>
> Tested in my machine, which stop booting
> after upgrade to 4.9
>
> Signed-off-by: Petr Oros <poros@xxxxxxxxxx>
> ---
> arch/x86/platform/efi/quirks.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)

Could you provide some more information? Why does efi_memmap_insert()
require this alignment? How does booting "break"? If you see an Oops,
please post it here.