Files
u-boot/lib
Harsimran Singh Tungal d0d1c4a4f5 efi_loader: fix AllocatePages overlap status
Return EFI_NOT_FOUND for EFI_ALLOCATE_ADDRESS overlap

When efi_allocate_pages() is called with EFI_ALLOCATE_ADDRESS, UEFI
expects EFI_NOT_FOUND if the requested address range is already
allocated or unavailable. U-Boot currently returns
EFI_OUT_OF_RESOURCES when efi_update_memory_map() detects an overlap
after a successful lmb_alloc_mem(), which does not match
EFI_ALLOCATE_ADDRESS semantics.

Return EFI_NOT_FOUND for EFI_ALLOCATE_ADDRESS requests that fail due
to an overlapping EFI memory descriptor, while keeping
EFI_OUT_OF_RESOURCES for other allocation types.

The UEFI specification [1] specifies that
EFI_BOOT_SERVICES.AllocatePages must return EFI_NOT_FOUND when the
requested address range is unavailable or already allocated;
EFI_OUT_OF_RESOURCES applies to non‑address‑specific allocation
failures.

[1] https://uefi.org/specs/UEFI/2.10_A/07_Services_Boot_Services.html

Signed-off-by: Harsimran Singh Tungal <harsimransingh.tungal@arm.com>

The UEFI specification does not clearly specify the behavior.
But let's follow the EDK II precedent here.

Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2026-05-18 08:32:58 +02:00
..
2026-05-11 12:04:43 -06:00
2025-04-11 12:16:44 -06:00
2024-07-15 12:12:18 -06:00
2024-07-15 12:12:18 -06:00
2025-04-11 12:16:44 -06:00
2024-07-15 12:12:18 -06:00
2025-07-26 07:34:31 +02:00
2024-07-15 12:12:18 -06:00
2024-10-11 11:44:48 -06:00
2024-07-15 12:12:18 -06:00
2024-07-15 12:12:18 -06:00
2024-07-15 12:12:18 -06:00
2024-07-15 12:12:18 -06:00
2025-02-03 16:01:36 -06:00
2025-02-03 16:01:36 -06:00
2024-12-06 17:47:23 -06:00
2025-04-03 16:54:49 -06:00
2019-12-06 16:44:20 -05:00
2024-12-06 17:47:23 -06:00
2025-01-18 17:12:47 -06:00
2024-12-06 17:47:23 -06:00
2026-02-11 11:13:47 +02:00
2020-08-24 14:11:31 -04:00
2024-11-13 08:14:23 -06:00
2025-01-28 08:58:41 +02:00
2025-12-04 09:38:58 -06:00
2022-01-19 18:11:34 +01:00
2024-10-14 17:58:30 -06:00
2025-12-04 09:38:58 -06:00
2025-04-23 13:19:44 -06:00
2026-04-21 11:19:49 -06:00
2019-05-05 08:48:50 -04:00