From UEFI specifications 2.10, section 13.2.2, "EFI_LOAD_FILE2_PROTOCOL.LoadFile" (see https://uefi.org/specs/UEFI/2.10/13_Protocols_Media_Access.html), for BufferSize:
On input the size of Buffer in bytes. On output with a return code of EFI_SUCCESS, the amount of data transferred to Buffer. On output with a return code of EFI_BUFFER_TOO_SMALL, the size of Buffer required to retrieve the requested file. so set *buffer_size correctly. Signed-off-by: Frediano Ziglio <frediano.zig...@cloud.com> --- Changes since v1: - improved commit message --- grub-core/loader/efi/linux.c | 1 + 1 file changed, 1 insertion(+) diff --git a/grub-core/loader/efi/linux.c b/grub-core/loader/efi/linux.c index 36dea2931..caeebe1ec 100644 --- a/grub-core/loader/efi/linux.c +++ b/grub-core/loader/efi/linux.c @@ -363,6 +363,7 @@ grub_efi_initrd_load_file2 (grub_efi_load_file2_t *this, grub_dprintf ("linux", "Providing initrd via EFI_LOAD_FILE2_PROTOCOL\n"); + *buffer_size = initrd_size; if (grub_initrd_load (&initrd_ctx, buffer)) status = GRUB_EFI_DEVICE_ERROR; -- 2.43.0 _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel