
We read the address map before assigning the memory for the pages that will be mapped to virtual addresses. So these pages will overlap with the entry for EFI_CONVENTIONAL_MEMORY. We have to ensure that every page is described at most once in the map.
Remove EFI_CONVENTIONAL_MEMORY from the map that we pass to SetVirtualAddressMap().
Signed-off-by: Heinrich Schuchardt xypron.glpk@gmx.de --- v2 no change --- lib/efi_selftest/efi_selftest_set_virtual_address_map.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/lib/efi_selftest/efi_selftest_set_virtual_address_map.c b/lib/efi_selftest/efi_selftest_set_virtual_address_map.c index 6ee7bbeb01..3ffb61b7e8 100644 --- a/lib/efi_selftest/efi_selftest_set_virtual_address_map.c +++ b/lib/efi_selftest/efi_selftest_set_virtual_address_map.c @@ -123,6 +123,7 @@ static int setup(const efi_handle_t handle, case EFI_LOADER_DATA: case EFI_BOOT_SERVICES_CODE: case EFI_BOOT_SERVICES_DATA: + case EFI_CONVENTIONAL_MEMORY: continue; } memcpy(pos1, pos2, desc_size); -- 2.20.1