[PATCH] efi_net: add missing EFI_CALL in efi_net
Heinrich Schuchardt
heinrich.schuchardt at canonical.com
Fri Feb 6 10:03:56 CET 2026
On 2/5/26 17:40, Vincent Stehlé wrote:
> The efi_reinstall_protocol_interface() function is a UEFI function;
> make sure to call it from within U-Boot using the EFI_CALL() macro.
>
> This fixes the following assertion:
>
> lib/efi_loader/efi_boottime.c:3752: efi_reinstall_protocol_interface: Assertion `__efi_entry_check()' failed.
>
> To reproduce the issue, define LOG_DEBUG in lib/efi_loader/efi_boottime.c
> and build u-boot for your platform. Then, boot the U-Boot helloworld.efi
> application over the network. Example commands (adjust the URL and boot
> entry number):
>
> => efidebug boot add -u 0 net http://10.0.2.2:8000/helloworld.efi
> => efidebug boot order 0
> => bootefi bootmgr
>
> Fixes: dd5d82a59995 ("efi_loader: efi_net: Add device path cache")
> Signed-off-by: Vincent Stehlé <vincent.stehle at arm.com>
> Cc: Heinrich Schuchardt <xypron.glpk at gmx.de>
> Cc: Ilias Apalodimas <ilias.apalodimas at linaro.org>
> Cc: Tom Rini <trini at konsulko.com>
> Cc: Adriano Cordova <adrianox at gmail.com>
Thank you for fixing this.
Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt at canonical.com>
> ---
> lib/efi_loader/efi_net.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/lib/efi_loader/efi_net.c b/lib/efi_loader/efi_net.c
> index 0f8a851e3f2..c2b85dac236 100644
> --- a/lib/efi_loader/efi_net.c
> +++ b/lib/efi_loader/efi_net.c
> @@ -1024,8 +1024,10 @@ efi_status_t efi_netobj_set_dp(struct efi_net_obj *netobj, struct efi_device_pat
> goto add;
>
> // If it is already installed, try to update it
> - ret = efi_reinstall_protocol_interface(&netobj->header, &efi_guid_device_path,
> - phandler->protocol_interface, new_net_dp);
> + ret = EFI_CALL(efi_reinstall_protocol_interface(&netobj->header,
> + &efi_guid_device_path,
> + phandler->protocol_interface,
> + new_net_dp));
> if (ret != EFI_SUCCESS)
> return ret;
>
More information about the U-Boot
mailing list