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]>

