[U-Boot] [PATCH 1/1] efi_loader: efi_allocate_pages is too restrictive
Alexander Graf
agraf at suse.de
Fri Mar 9 12:48:59 UTC 2018
On 03/03/2018 03:48 PM, Heinrich Schuchardt wrote:
> When running on the sandbox the stack is not necessarily at a higher memory
> address than the highest free memory.
>
> There is no reason why the checking of the highest memory address should be
> more restrictive for EFI_ALLOCATE_ANY_PAGES than for
> EFI_ALLOCATE_MAX_ADDRESS.
>
> Signed-off-by: Heinrich Schuchardt <xypron.glpk at gmx.de>
> ---
> 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 cc271e0709d..0efbb973231 100644
> --- a/lib/efi_loader/efi_memory.c
> +++ b/lib/efi_loader/efi_memory.c
> @@ -294,7 +294,7 @@ efi_status_t efi_allocate_pages(int type, int memory_type,
> switch (type) {
> case EFI_ALLOCATE_ANY_PAGES:
> /* Any page */
> - addr = efi_find_free_memory(len, gd->start_addr_sp);
> + addr = efi_find_free_memory(len, (uint64_t)-1);
This will break on systems that do not map high address space into the
linear map (IIRC nvidia systems had that issue).
Alex
More information about the U-Boot
mailing list