]> git.dujemihanovic.xyz Git - u-boot.git/commit
efi_loader: esrt: Remove incorrect invocations of EFI_CALL macro
authorSughosh Ganu <sughosh.ganu@linaro.org>
Wed, 14 Apr 2021 07:08:25 +0000 (12:38 +0530)
committerHeinrich Schuchardt <xypron.glpk@gmx.de>
Sat, 17 Apr 2021 18:01:31 +0000 (20:01 +0200)
commit7d823747c695e8638b637abd0c19434f661e50d9
tree44663fe61fe7978285a4f942afa220773ff97e1b
parent798ece83bd47ea6f94b74624f5929ad6f2d6c361
efi_loader: esrt: Remove incorrect invocations of EFI_CALL macro

Remove function invocations using the EFI_CALL macro for those
functions that do not have an EFI_ENTRY call in their definition. Such
functions can use u-boot api's which rely on u-boot global data(gd)
pointer. The Arm and RiscV architectures maintain a separate gd
pointer, one for u-boot, and a separate gd for the efi application.

Calling a function through the EFI_CALL macro changes the gd pointer
to that used for the efi application, with u-boot gd being
unavailable. Any function then trying to dereference u-boot's gd will
result in an abort.

Fix this issue by removing the EFI_CALL macro for all of such
functions which do not begin by an EFI_ENTRY function call.

Signed-off-by: Sughosh Ganu <sughosh.ganu@linaro.org>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
lib/efi_loader/efi_esrt.c