From: Alexander Graf Date: Mon, 3 Jul 2017 11:32:35 +0000 (+0200) Subject: efi_loader: Add check for fallback fdt memory reservation X-Git-Url: http://git.dujemihanovic.xyz/?a=commitdiff_plain;h=85a6e9b3c9d16ec062a6da3129448f39aad94fc9;p=u-boot.git efi_loader: Add check for fallback fdt memory reservation When running bootefi, we allocate new space but never check whether the allocation succeeded. This patch adds a check so that in case things go wrong, we at least know they did. Signed-off-by: Alexander Graf --- diff --git a/cmd/bootefi.c b/cmd/bootefi.c index a0a5434967..771300ee94 100644 --- a/cmd/bootefi.c +++ b/cmd/bootefi.c @@ -133,7 +133,13 @@ static void *copy_fdt(void *fdt) &new_fdt_addr) != EFI_SUCCESS) { /* If we can't put it there, put it somewhere */ new_fdt_addr = (ulong)memalign(4096, fdt_size); + if (efi_allocate_pages(1, EFI_BOOT_SERVICES_DATA, fdt_pages, + &new_fdt_addr) != EFI_SUCCESS) { + printf("ERROR: Failed to reserve space for FDT\n"); + return NULL; + } } + new_fdt = (void*)(ulong)new_fdt_addr; memcpy(new_fdt, fdt, fdt_totalsize(fdt)); fdt_set_totalsize(new_fdt, fdt_size);