bootmeth: pass size to efi_binary_run()

If we call efi_binary_run() with size parameter set to zero, we get an error

     Not a PE-COFF file

Fill the missing value.

Fixes: 1373ffde52 ("Merge tag 'v2024.01-rc5' into next")
Fixes: 7017fc54a5 ("bootmeth: use efi_loader interfaces instead of bootefi command")
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
This commit is contained in:
Heinrich Schuchardt 2023-12-22 16:01:56 +01:00 committed by Tom Rini
parent 7c4647b8fb
commit 4b151562bb

View file

@ -454,12 +454,12 @@ static int distro_efi_boot(struct udevice *dev, struct bootflow *bflow)
if (bflow->flags & BOOTFLOWF_USE_BUILTIN_FDT) {
log_debug("Booting with built-in fdt\n");
if (efi_binary_run(map_sysmem(kernel, 0), 0,
if (efi_binary_run(map_sysmem(kernel, 0), bflow->size,
EFI_FDT_USE_INTERNAL))
return log_msg_ret("run", -EINVAL);
} else {
log_debug("Booting with external fdt\n");
if (efi_binary_run(map_sysmem(kernel, 0), 0,
if (efi_binary_run(map_sysmem(kernel, 0), bflow->size,
map_sysmem(fdt, 0)))
return log_msg_ret("run", -EINVAL);
}