diff options
| author | Tom Rini <[email protected]> | 2025-10-20 08:27:19 -0600 |
|---|---|---|
| committer | Tom Rini <[email protected]> | 2025-10-20 08:27:19 -0600 |
| commit | 45e02b3fc6a9fdfa9ba7d4c16e5771c2ef6773d5 (patch) | |
| tree | c5de06b61d2285fcd9eb4836fc4fca283cf1c910 /lib | |
| parent | a58089ad2e41e88f81360f0e99bfd0715aceb556 (diff) | |
| parent | dbac24b7137b7d1576aead857850121af92f0a51 (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.c | 4 | ||||
| -rw-r--r-- | lib/efi_loader/efi_capsule.c | 4 | ||||
| -rw-r--r-- | lib/efi_loader/efi_esrt.c | 2 | ||||
| -rw-r--r-- | lib/efi_loader/efi_http.c | 16 | ||||
| -rw-r--r-- | lib/uuid.c | 4 |
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 */ |
