summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorTom Rini <[email protected]>2026-03-09 15:26:34 -0600
committerTom Rini <[email protected]>2026-03-09 15:26:34 -0600
commit1e240f7206fccde4ec73ea432ab8360d321c5fe5 (patch)
tree931d5985e8a237b5604999922f5662fc464a8817 /lib
parent36add050eea439f0b2a15e4ea0d3a8e21216f159 (diff)
parentba7bf918dafcd093ad733b07ba490baeb20cf5da (diff)
Merge tag 'v2026.04-rc4' into next
Prepare v2026.04-rc4
Diffstat (limited to 'lib')
-rw-r--r--lib/efi_loader/efi_boottime.c8
-rw-r--r--lib/efi_selftest/efi_selftest_loadimage.c7
-rw-r--r--lib/efi_selftest/efi_selftest_manageprotocols.c8
3 files changed, 17 insertions, 6 deletions
diff --git a/lib/efi_loader/efi_boottime.c b/lib/efi_loader/efi_boottime.c
index b424d924896..de57823bd44 100644
--- a/lib/efi_loader/efi_boottime.c
+++ b/lib/efi_loader/efi_boottime.c
@@ -2096,8 +2096,12 @@ efi_status_t EFIAPI efi_load_image(bool boot_policy,
EFI_ENTRY("%d, %p, %pD, %p, %zu, %p", boot_policy, parent_image,
file_path, source_buffer, source_size, image_handle);
- if (!image_handle || (!source_buffer && !file_path) ||
- !efi_search_obj(parent_image) ||
+ if (!source_buffer && !file_path) {
+ ret = EFI_NOT_FOUND;
+ goto error;
+ }
+
+ if (!image_handle || !efi_search_obj(parent_image) ||
/* The parent image handle must refer to a loaded image */
!parent_image->type) {
ret = EFI_INVALID_PARAMETER;
diff --git a/lib/efi_selftest/efi_selftest_loadimage.c b/lib/efi_selftest/efi_selftest_loadimage.c
index 967eaa58c69..0e8fc6216f0 100644
--- a/lib/efi_selftest/efi_selftest_loadimage.c
+++ b/lib/efi_selftest/efi_selftest_loadimage.c
@@ -562,6 +562,13 @@ static int execute(void)
return EFI_ST_FAILURE;
}
+ ret = boottime->load_image(false, handle_image, NULL, NULL, 0,
+ &handle);
+ if (ret != EFI_NOT_FOUND) {
+ efi_st_error("Unexpected load_image return value\n");
+ return EFI_ST_FAILURE;
+ }
+
return EFI_ST_SUCCESS;
}
diff --git a/lib/efi_selftest/efi_selftest_manageprotocols.c b/lib/efi_selftest/efi_selftest_manageprotocols.c
index 097b2ae3545..31ea67748a5 100644
--- a/lib/efi_selftest/efi_selftest_manageprotocols.c
+++ b/lib/efi_selftest/efi_selftest_manageprotocols.c
@@ -6,7 +6,7 @@
*
* This unit test checks the following protocol services:
* InstallProtocolInterface, UninstallProtocolInterface,
- * InstallMultipleProtocolsInterfaces, UninstallMultipleProtocolsInterfaces,
+ * InstallMultipleProtocolInterfaces, UninstallMultipleProtocolInterfaces,
* HandleProtocol, ProtocolsPerHandle,
* LocateHandle, LocateHandleBuffer.
*/
@@ -189,7 +189,7 @@ static int execute(void)
}
/*
- * Test error handling in UninstallMultipleProtocols
+ * Test error handling in UninstallMultipleProtocolInterfaces
*
* These are the installed protocol interfaces on handle 2:
*
@@ -240,7 +240,7 @@ static int execute(void)
efi_st_error("LocateHandleBuffer failed to locate new handle\n");
return EFI_ST_FAILURE;
}
- /* Clear the buffer, we are reusing it it the next step. */
+ /* Clear the buffer, we are reusing it in the next step. */
boottime->set_mem(buffer, sizeof(efi_handle_t) * buffer_size, 0);
/*
@@ -289,7 +289,7 @@ static int execute(void)
}
/*
- * Test UninstallMultipleProtocols
+ * Test UninstallMultipleProtocolInterfaces
*/
ret = boottime->uninstall_multiple_protocol_interfaces(
handle2,