summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorTom Rini <[email protected]>2025-10-20 08:27:19 -0600
committerTom Rini <[email protected]>2025-10-20 08:27:19 -0600
commit45e02b3fc6a9fdfa9ba7d4c16e5771c2ef6773d5 (patch)
treec5de06b61d2285fcd9eb4836fc4fca283cf1c910 /lib
parenta58089ad2e41e88f81360f0e99bfd0715aceb556 (diff)
parentdbac24b7137b7d1576aead857850121af92f0a51 (diff)
Merge tag 'efi-2026-01-rc1' of https://source.denx.de/u-boot/custodians/u-boot-efi
Pull request efi-2026-01-rc1 CI: * https://source.denx.de/u-boot/custodians/u-boot-efi/-/pipelines/27944 Documentation: * samsung: Extend E850-96 documentation to be comprehensive * environment: fix links to Linux kernel documentation * sandbox: fix typos * document dmareset command * ti: j722s_evm: drop outdated boot note UEFI: * Prevent leak of memory from tmp_files * Correctly check if the HTTP protocol is found * Use ESRT_FW_TYPE_SYSTEMFIRMWARE instead of ESRT_FW_TYPE_UNKNOWN * dbginfodump: use guid definition Others: * lib/uuid: add support for efi debug image info table guid
Diffstat (limited to 'lib')
-rw-r--r--lib/efi_loader/dbginfodump.c4
-rw-r--r--lib/efi_loader/efi_capsule.c4
-rw-r--r--lib/efi_loader/efi_esrt.c2
-rw-r--r--lib/efi_loader/efi_http.c16
-rw-r--r--lib/uuid.c4
5 files changed, 18 insertions, 12 deletions
diff --git a/lib/efi_loader/dbginfodump.c b/lib/efi_loader/dbginfodump.c
index adbbd5060cc..55186bd03f4 100644
--- a/lib/efi_loader/dbginfodump.c
+++ b/lib/efi_loader/dbginfodump.c
@@ -24,10 +24,8 @@ static efi_guid_t guid_device_path_to_text_protocol =
static struct efi_device_path_to_text_protocol *device_path_to_text;
-/* EFI_DEBUG_IMAGE_INFO_TABLE_GUID */
static const efi_guid_t dbg_info_guid =
- EFI_GUID(0x49152E77, 0x1ADA, 0x4764, 0xB7, 0xA2,
- 0x7A, 0xFE, 0xFE, 0xD9, 0x5E, 0x8B);
+ EFI_DEBUG_IMAGE_INFO_TABLE_GUID;
/* EFI_DEBUG_IMAGE_INFO_NORMAL */
struct dbg_info {
diff --git a/lib/efi_loader/efi_capsule.c b/lib/efi_loader/efi_capsule.c
index f19e78ae9d1..31b47a20186 100644
--- a/lib/efi_loader/efi_capsule.c
+++ b/lib/efi_loader/efi_capsule.c
@@ -1096,8 +1096,10 @@ static efi_status_t efi_capsule_scan_dir(u16 ***files, unsigned int *num)
while (1) {
tmp_size = dirent_size;
ret = EFI_CALL((*dirh->read)(dirh, &tmp_size, dirent));
- if (ret != EFI_SUCCESS)
+ if (ret != EFI_SUCCESS) {
+ free(tmp_files);
goto err;
+ }
if (!tmp_size)
break;
diff --git a/lib/efi_loader/efi_esrt.c b/lib/efi_loader/efi_esrt.c
index e235c8fe91c..3cc389eb11c 100644
--- a/lib/efi_loader/efi_esrt.c
+++ b/lib/efi_loader/efi_esrt.c
@@ -236,7 +236,7 @@ efi_status_t efi_esrt_add_from_fmp(struct efi_firmware_management_protocol *fmp)
* TODO: set the field image_type depending on the FW image type
* defined in a platform basis.
*/
- u32 image_type = ESRT_FW_TYPE_UNKNOWN;
+ u32 image_type = ESRT_FW_TYPE_SYSTEMFIRMWARE;
/* TODO: set the capsule flags as a function of the FW image type. */
u32 flags = 0;
diff --git a/lib/efi_loader/efi_http.c b/lib/efi_loader/efi_http.c
index 9a0f2675132..2a606aa441e 100644
--- a/lib/efi_loader/efi_http.c
+++ b/lib/efi_loader/efi_http.c
@@ -460,14 +460,16 @@ static efi_status_t EFIAPI efi_http_service_binding_destroy_child(
if (!child_handle)
return EFI_EXIT(EFI_INVALID_PARAMETER);
- efi_search_protocol(child_handle, &efi_http_guid, &phandler);
-
- if (!phandler)
- return EFI_EXIT(EFI_UNSUPPORTED);
+ ret = efi_search_protocol(child_handle, &efi_http_guid, &phandler);
+ if (ret != EFI_SUCCESS) {
+ if (ret != EFI_INVALID_PARAMETER)
+ ret = EFI_UNSUPPORTED;
+ goto out;
+ }
ret = efi_delete_handle(child_handle);
if (ret != EFI_SUCCESS)
- return EFI_EXIT(ret);
+ goto out;
http_instance = phandler->protocol_interface;
efi_free_pool(http_instance->http_load_addr);
@@ -476,8 +478,8 @@ static efi_status_t EFIAPI efi_http_service_binding_destroy_child(
free(phandler->protocol_interface);
num_instances--;
-
- return EFI_EXIT(EFI_SUCCESS);
+out:
+ return EFI_EXIT(ret);
}
/**
diff --git a/lib/uuid.c b/lib/uuid.c
index 8d99b540d9f..e0f8d55438b 100644
--- a/lib/uuid.c
+++ b/lib/uuid.c
@@ -256,6 +256,10 @@ static const struct {
RISCV_EFI_BOOT_PROTOCOL_GUID,
},
#endif
+ {
+ NULL, "EFI Debug Image Info Table",
+ EFI_DEBUG_IMAGE_INFO_TABLE_GUID,
+ },
#endif /* CONFIG_CMD_EFIDEBUG */
#ifdef CONFIG_CMD_NVEDIT_EFI
/* signature database */