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

Simon Glass sjg at chromium.org
Tue Jul 30 21:44:37 CEST 2024


On Tue, 30 Jul 2024 at 05:11, Sughosh Ganu <sughosh.ganu at linaro.org> wrote:
>
> Populate the previous memory descriptor node pointer only after it's

its

> 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>
> ---
>  lib/efi_loader/efi_memory.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)

Reviewed-by: Simon Glass <sjg at chromium.org>


>
> 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) &&
> --
> 2.34.1
>


More information about the U-Boot mailing list