Pull request efi-2026-04-rc4

CI: https://source.denx.de/u-boot/custodians/u-boot-efi/-/pipelines/29389

UEFI:

* Correct LoadImage() return code for invalid parameters
  and provide a test for it.
* Correct misspells in the test code.
This commit is contained in:
Tom Rini
2026-02-27 08:12:22 -06:00
3 changed files with 17 additions and 6 deletions
+6 -2
View File
@@ -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;
@@ -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;
}
@@ -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,