Merge tag 'efi-2026-04-rc4' of https://source.denx.de/u-boot/custodians/u-boot-efi
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:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user