loader/efi/linux: Return correct size from LoadFile2
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.ziglio@cloud.com> Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
This commit is contained in:
parent
f326c5c475
commit
6831d242ad
@ -372,6 +372,8 @@ grub_efi_initrd_load_file2 (grub_efi_load_file2_t *this,
|
||||
|
||||
if (grub_initrd_load (&initrd_ctx, buffer))
|
||||
status = GRUB_EFI_DEVICE_ERROR;
|
||||
else
|
||||
*buffer_size = initrd_size;
|
||||
|
||||
grub_initrd_close (&initrd_ctx);
|
||||
return status;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user