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 <agraf@suse.de>
This commit is contained in:
parent
8d6040c725
commit
85a6e9b3c9
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user