On Mon, Jul 14, 2025 at 09:08:48AM +0100, Frediano Ziglio via Grub-devel wrote: > 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 > > Changes since v2: > - return size only for EFI_SUCCESS. > --- > grub-core/loader/efi/linux.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/grub-core/loader/efi/linux.c b/grub-core/loader/efi/linux.c > index 36dea2931..33415674c 100644 > --- a/grub-core/loader/efi/linux.c > +++ b/grub-core/loader/efi/linux.c > @@ -365,6 +365,8 @@ grub_efi_initrd_load_file2 (grub_efi_load_file2_t *this, > > if (grub_initrd_load (&initrd_ctx, buffer)) > status = GRUB_EFI_DEVICE_ERROR; > + if (status == GRUB_EFI_SUCCESS)
"else" should be enough here... > + *buffer_size = initrd_size; Daniel _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel