From 207c5bcce11fef1aea1fd60f5e5b3cf6db0b2b79 Mon Sep 17 00:00:00 2001 From: Heinrich Schuchardt Date: Thu, 11 Apr 2019 19:59:31 +0200 Subject: [PATCH] efi_selftest: physical and virtual addresses must match At boottime physical and virtual addresses must match. Add a corresponding check to the memory unit test. Signed-off-by: Heinrich Schuchardt --- lib/efi_selftest/efi_selftest_memory.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/efi_selftest/efi_selftest_memory.c b/lib/efi_selftest/efi_selftest_memory.c index 24b4438..d41227b 100644 --- a/lib/efi_selftest/efi_selftest_memory.c +++ b/lib/efi_selftest/efi_selftest_memory.c @@ -65,6 +65,11 @@ static int find_in_memory_map(efi_uintn_t map_size, for (i = 0; map_size; ++i, map_size -= desc_size) { struct efi_mem_desc *entry = &memory_map[i]; + if (entry->physical_start != entry->virtual_start) { + efi_st_error("Physical and virtual addresses do not match\n"); + return EFI_ST_FAILURE; + } + if (addr >= entry->physical_start && addr < entry->physical_start + (entry->num_pages << EFI_PAGE_SHIFT)) { -- 2.7.4