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.g...@gmx.de>
---
 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.43.0

Reply via email to