[PATCH] lmb: Correctly unmap memory after notifications

Heinrich Schuchardt xypron.glpk at gmx.de
Mon Oct 28 07:37:24 CET 2024


On 10/24/24 12:46, Ilias Apalodimas wrote:
> We never unmap the memory used to update the EFI memory map after
> notifications
>
> Fixes: commit 2f6191526a13 ("lmb: notify of any changes to the LMB memory map")
> Signed-off-by: Ilias Apalodimas <ilias.apalodimas at linaro.org>
> ---
>   lib/lmb.c | 1 +
>   1 file changed, 1 insertion(+)
>
> diff --git a/lib/lmb.c b/lib/lmb.c
> index 890e2cbfdf6b..38c6e1d5ba8d 100644
> --- a/lib/lmb.c
> +++ b/lib/lmb.c
> @@ -65,6 +65,7 @@ static int __maybe_unused lmb_map_update_notify(phys_addr_t addr,
>   			status & ~EFI_ERROR_MASK);
>   		return -1;
>   	}
> +	unmap_sysmem((void *)(uintptr_t)efi_addr);

If PCI memory was ever mapped via pci_map_physmem(), I don't think that
we want to unmap it here.

Why do we map the memory in this notification function first hand? Can't
we use len = 0 when calling map_sysmem()?

I guess we have to critically review all map_sysmem() calls.

Best regards

Heinrich

>
>   	return 0;
>   }



More information about the U-Boot mailing list