From 4b151562bb8e54160adedbc6a1c0c749c00a2f84 Mon Sep 17 00:00:00 2001
From: Heinrich Schuchardt <xypron.glpk@gmx.de>
Date: Fri, 22 Dec 2023 16:01:56 +0100
Subject: [PATCH] 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: 1373ffde52e1 ("Merge tag 'v2024.01-rc5' into next")
Fixes: 7017fc54a5bc ("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>
---
 boot/bootmeth_efi.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/boot/bootmeth_efi.c b/boot/bootmeth_efi.c
index 00060f7d25..c4eb331d69 100644
--- a/boot/bootmeth_efi.c
+++ b/boot/bootmeth_efi.c
@@ -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);
 	}
-- 
2.39.5