
In efi_find_free_memory() the sandbox uses its virtual address space. Add the missing mapping.
Signed-off-by: Heinrich Schuchardt xypron.glpk@gmx.de --- lib/efi_loader/efi_memory.c | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/lib/efi_loader/efi_memory.c b/lib/efi_loader/efi_memory.c index dc282fe249f..c0277355056 100644 --- a/lib/efi_loader/efi_memory.c +++ b/lib/efi_loader/efi_memory.c @@ -294,6 +294,9 @@ static uint64_t efi_find_free_memory(uint64_t len, uint64_t max_addr) { struct list_head *lhandle;
+ /* Map to virtual address on sandbox */ + max_addr = map_to_sysmem((void *)(uintptr_t)max_addr); + /* * Prealign input max address, so we simplify our matching * logic below and can just reuse it as return pointer.