[PATCH 4/6] efi_memory: nitpick removal loop
Ilias Apalodimas
ilias.apalodimas at linaro.org
Thu Apr 2 11:04:14 CEST 2026
I don't mind merging this, but why is the current code flawed?
Looking at the function even if prevmem contains a previous valid
entry the check will fail
if ((desc_get_end(cur) == prev->physical_start) &&
(prev->type == cur->type) &&
(prev->attribute == cur->attribute)) {
and re-assign prevmem.
So please adjust the commit message if you want this merged.
Thanks
/Ilias
On Thu, 2 Apr 2026 at 03:14, <rs at ti.com> wrote:
>
> From: Randolph Sapp <rs at ti.com>
>
> I don't even want to think about the possibility of this pointer
> containing a reference to something from a previous iteration.
>
> Signed-off-by: Randolph Sapp <rs at ti.com>
> ---
> lib/efi_loader/efi_memory.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/lib/efi_loader/efi_memory.c b/lib/efi_loader/efi_memory.c
> index b77c2f980cc..882366a9f8a 100644
> --- a/lib/efi_loader/efi_memory.c
> +++ b/lib/efi_loader/efi_memory.c
> @@ -129,13 +129,13 @@ static uint64_t desc_get_end(struct efi_mem_desc *desc)
> static void efi_mem_sort(void)
> {
> struct efi_mem_list *lmem;
> - struct efi_mem_list *prevmem = NULL;
> bool merge_again = true;
>
> list_sort(NULL, &efi_mem, efi_mem_cmp);
>
> /* Now merge entries that can be merged */
> while (merge_again) {
> + struct efi_mem_list *prevmem = NULL;
> merge_again = false;
> list_for_each_entry(lmem, &efi_mem, link) {
> struct efi_mem_desc *prev;
> --
> 2.53.0
>
More information about the U-Boot
mailing list