summaryrefslogtreecommitdiff
path: root/lib/efi_selftest
diff options
context:
space:
mode:
authorIlias Apalodimas <ilias.apalodimas@linaro.org>2023-06-13 16:23:06 +0300
committerHeinrich Schuchardt <heinrich.schuchardt@canonical.com>2023-06-16 07:48:46 +0300
commit5669591dd8d2b21bc79237b161107300eb7f2b12 (patch)
tree6120a7d1a99c25b50896a7d932d431145570f5a4 /lib/efi_selftest
parent3cc2b9f5b982ff3a192202b6d422eeb1893fa667 (diff)
downloadu-boot-5669591dd8d2b21bc79237b161107300eb7f2b12.tar.xz
efi_selftests: fix protocol repeated selftesting
Running the protocols selftest more than one times fails with => setenv efi_selftest 'manage protocols' && bootefi selftest Testing EFI API implementation Selected test: 'manage protocols' Setting up 'manage protocols' Setting up 'manage protocols' succeeded Executing 'manage protocols' Executing 'manage protocols' succeeded Tearing down 'manage protocols' Tearing down 'manage protocols' succeeded Summary: 0 failures => bootefi selftest Testing EFI API implementation Selected test: 'manage protocols' Setting up 'manage protocols' lib/efi_selftest/efi_selftest_manageprotocols.c(88): ERROR: InstallProtocolInterface failed lib/efi_selftest/efi_selftest.c(89): ERROR: Setting up 'manage protocols' failed Tearing down 'manage protocols' Tearing down 'manage protocols' succeeded Summary: 1 failures The reason is that we don't set the handles to NULL after deleting and freeing them. As a result the subsequent protocol installation will try to use an existing handle which we just removed that from our object list. Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Diffstat (limited to 'lib/efi_selftest')
-rw-r--r--lib/efi_selftest/efi_selftest_manageprotocols.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/efi_selftest/efi_selftest_manageprotocols.c b/lib/efi_selftest/efi_selftest_manageprotocols.c
index 8edb1e4d46..097b2ae354 100644
--- a/lib/efi_selftest/efi_selftest_manageprotocols.c
+++ b/lib/efi_selftest/efi_selftest_manageprotocols.c
@@ -79,6 +79,8 @@ static int setup(const efi_handle_t img_handle,
efi_status_t ret;
efi_handle_t handle;
+ handle1 = NULL;
+ handle2 = NULL;
boottime = systable->boottime;
ret = boottime->install_protocol_interface(&handle1, &guid3,