On Mon, 14 Aug 2023 at 09:00, Heinrich Schuchardt
<[email protected]> wrote:
>
> In efi_add_known_memory() we currently call board_get_usable_ram_top() with
> an incorrect value 0 of parameter total_size. This leads to an incorrect
> value for ram_top depending on the code in board_get_usable_ram_top().
>
> Use the value of gd->ram_top instead which is set before relocation by
> calling board_get_usable_ram_top().
>
> Fixes: 7b78d6438a2b ("efi_loader: Reserve unaccessible memory")
> Signed-off-by: Heinrich Schuchardt <[email protected]>
> ---
>  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 ebf4a2d5fa..f752703b43 100644
> --- a/lib/efi_loader/efi_memory.c
> +++ b/lib/efi_loader/efi_memory.c
> @@ -877,7 +877,7 @@ efi_status_t efi_add_conventional_memory_map(u64 
> ram_start, u64 ram_end,
>   */
>  __weak void efi_add_known_memory(void)
>  {
> -       u64 ram_top = board_get_usable_ram_top(0) & ~EFI_PAGE_MASK;
> +       u64 ram_top = gd->ram_top & ~EFI_PAGE_MASK;
>         int i;
>
>         /*
> --
> 2.40.1
>

Reviewed-by: Ilias Apalodimas <[email protected]>

Reply via email to