[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