[PATCH 3/5] efi_memory: avoid possible null pointer dereference

Heinrich Schuchardt xypron.glpk at gmx.de
Wed Jul 31 08:19:22 CEST 2024


On 7/30/24 13:11, Sughosh Ganu wrote:
> Populate the previous memory descriptor node pointer only after it's
> parent struct has been initialised. The compiler fixes this logic to
> do the right thing, but it is better to have correct code in place.
>
> Signed-off-by: Sughosh Ganu <sughosh.ganu at linaro.org>

Fixes: 7b05667ce239 ("efi_loader: Merge memory map entries")
Reviewed-by: Heinrich Schuchardt <xypron.glpk at gmx.de>

> ---
>   lib/efi_loader/efi_memory.c | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/lib/efi_loader/efi_memory.c b/lib/efi_loader/efi_memory.c
> index bfadd6bd41..8d4f6e339d 100644
> --- a/lib/efi_loader/efi_memory.c
> +++ b/lib/efi_loader/efi_memory.c
> @@ -138,7 +138,7 @@ static void efi_mem_sort(void)
>   		merge_again = false;
>   		list_for_each(lhandle, &efi_mem) {
>   			struct efi_mem_list *lmem;
> -			struct efi_mem_desc *prev = &prevmem->desc;
> +			struct efi_mem_desc *prev;
>   			struct efi_mem_desc *cur;
>   			uint64_t pages;
>
> @@ -149,6 +149,7 @@ static void efi_mem_sort(void)
>   			}
>
>   			cur = &lmem->desc;
> +			prev = &prevmem->desc;
>
>   			if ((desc_get_end(cur) == prev->physical_start) &&
>   			    (prev->type == cur->type) &&



More information about the U-Boot mailing list