Signed-off-by: Ignat Korchagin <ig...@cloudflare.com> --- grub-core/kern/efi/efi.c | 13 +++++++++++-- include/grub/efi/efi.h | 4 ++++ 2 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/grub-core/kern/efi/efi.c b/grub-core/kern/efi/efi.c index 708581fcb..5f7d1478f 100644 --- a/grub-core/kern/efi/efi.c +++ b/grub-core/kern/efi/efi.c @@ -224,7 +224,16 @@ grub_efi_set_variable(const char *var, const grub_efi_guid_t *guid, void * grub_efi_get_variable (const char *var, const grub_efi_guid_t *guid, - grub_size_t *datasize_out) + grub_size_t *datasize_out) +{ + return grub_efi_get_variable_with_attributes (var, guid, datasize_out, NULL); +} + +void * +grub_efi_get_variable_with_attributes (const char *var, + const grub_efi_guid_t *guid, + grub_size_t *datasize_out, + grub_efi_uint32_t *attributes) { grub_efi_status_t status; grub_efi_uintn_t datasize = 0; @@ -260,7 +269,7 @@ grub_efi_get_variable (const char *var, const grub_efi_guid_t *guid, return NULL; } - status = efi_call_5 (r->get_variable, var16, guid, NULL, &datasize, data); + status = efi_call_5 (r->get_variable, var16, guid, attributes, &datasize, data); grub_free (var16); if (status == GRUB_EFI_SUCCESS) diff --git a/include/grub/efi/efi.h b/include/grub/efi/efi.h index 2c6648d46..727722797 100644 --- a/include/grub/efi/efi.h +++ b/include/grub/efi/efi.h @@ -77,6 +77,10 @@ grub_err_t EXPORT_FUNC (grub_efi_set_virtual_address_map) (grub_efi_uintn_t memo void *EXPORT_FUNC (grub_efi_get_variable) (const char *variable, const grub_efi_guid_t *guid, grub_size_t *datasize_out); +void *EXPORT_FUNC (grub_efi_get_variable_with_attributes) (const char *variable, + const grub_efi_guid_t *guid, + grub_size_t *datasize_out, + grub_efi_uint32_t *attributes); grub_err_t EXPORT_FUNC (grub_efi_set_variable) (const char *var, const grub_efi_guid_t *guid, -- 2.11.0 _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel