[U-Boot] [PATCH] efi_loader: fix TEST_PROTOCOL case in OpenProtocol()

Rob Clark robdclark at gmail.com
Sat Sep 16 13:26:07 UTC 2017


In the TEST_PROTOCOL case, protocol_interface might be NULL, and at any
rate should not be touched.  So skip efi_protocol_open() in this case.

Fixes: "efi_loader: open_info in OpenProtocol"
Signed-off-by: Rob Clark <robdclark at gmail.com>
---
 lib/efi_loader/efi_boottime.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/efi_loader/efi_boottime.c b/lib/efi_loader/efi_boottime.c
index 72a0c932a6..f1f0e021b9 100644
--- a/lib/efi_loader/efi_boottime.c
+++ b/lib/efi_loader/efi_boottime.c
@@ -1723,7 +1723,7 @@ efi_status_t EFIAPI efi_open_protocol(
 	}
 
 	r = efi_search_protocol(handle, protocol, &handler);
-	if (r != EFI_SUCCESS)
+	if (r != EFI_SUCCESS || attributes == EFI_OPEN_PROTOCOL_TEST_PROTOCOL)
 		goto out;
 
 	r = efi_protocol_open(handler, protocol_interface, agent_handle,
-- 
2.13.5



More information about the U-Boot mailing list