efi_loader: fix efi_debug_image_info_normal allocation

When adding a new EFI Debug Image Info entry, we allocate memory for a new
EFI Debug Image Info Normal structure and we add a new entry into the EFI
Debug Image Info Table, which is in fact just a pointer to the allocated
structure.

However, when allocating memory for the new structure we allocate memory
for the wrong type, leading to allocating memory for just a pointer instead
of the desired structure.

Fix the type used during allocation.

Fixes: 146546138a ("efi: add EFI_DEBUG_IMAGE_INFO for debug")
Signed-off-by: Vincent Stehlé <vincent.stehle@arm.com>
Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>
Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Cc: Tom Rini <trini@konsulko.com>
Cc: Ying-Chun Liu (PaulLiu) <paul.liu@linaro.org>
Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
This commit is contained in:
Vincent Stehlé
2026-02-03 13:59:41 +01:00
committed by Heinrich Schuchardt
parent 32b835ccf3
commit e94d0bd827

View File

@@ -111,7 +111,7 @@ efi_status_t efi_core_new_debug_image_info_entry(u32 image_info_type,
/* Allocate data for new entry. */
ret = efi_allocate_pool(EFI_BOOT_SERVICES_DATA,
sizeof(union efi_debug_image_info),
sizeof(struct efi_debug_image_info_normal),
(void **)(&(*table)[index].normal_image));
if (ret == EFI_SUCCESS && (*table)[index].normal_image) {
/* Update the entry. */