On Wed, 25 Jan 2023 at 19:19, Heinrich Schuchardt <heinrich.schucha...@canonical.com> wrote: > > HandleProtocol() is deprecrated. According to the UEFI specification it > should be implemented as a call to OpenProtocolInterface() with a hard > coded agent handle. This implies that we would have to call > CloseProtocolInterfaces() after usage with the same handle. > > Getting rid of an EFI_CALL() is also appreciated. > > Signed-off-by: Heinrich Schuchardt <heinrich.schucha...@canonical.com> > --- > lib/efi_loader/efi_boottime.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/lib/efi_loader/efi_boottime.c b/lib/efi_loader/efi_boottime.c > index e65ca6a4cb..ba28989f36 100644 > --- a/lib/efi_loader/efi_boottime.c > +++ b/lib/efi_loader/efi_boottime.c > @@ -1949,6 +1949,7 @@ efi_status_t efi_load_image_from_path(bool boot_policy, > efi_uintn_t buffer_size; > uint64_t addr, pages; > const efi_guid_t *guid; > + struct efi_handler *handler; > > /* In case of failure nothing is returned */ > *buffer = NULL; > @@ -1970,11 +1971,11 @@ efi_status_t efi_load_image_from_path(bool > boot_policy, > } > if (ret != EFI_SUCCESS) > return EFI_NOT_FOUND; > - ret = EFI_CALL(efi_handle_protocol(device, guid, > - (void **)&load_file_protocol)); > + ret = efi_search_protocol(device, guid, &handler); > if (ret != EFI_SUCCESS) > return EFI_NOT_FOUND; > buffer_size = 0; > + load_file_protocol = handler->protocol_interface; > ret = EFI_CALL(load_file_protocol->load_file( > load_file_protocol, rem, boot_policy, > &buffer_size, NULL)); > -- > 2.38.1 >
Acked-by: Ilias Apalodimas <ilias.apalodi...@linaro.org>