Use the API function list_count_nodes() to count the number of EFI
memory map entries.

Signed-off-by: Sughosh Ganu <sughosh.g...@linaro.org>
---
 lib/efi_loader/efi_memory.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/lib/efi_loader/efi_memory.c b/lib/efi_loader/efi_memory.c
index 12cf23fa3f..bfadd6bd41 100644
--- a/lib/efi_loader/efi_memory.c
+++ b/lib/efi_loader/efi_memory.c
@@ -742,8 +742,8 @@ efi_status_t efi_get_memory_map(efi_uintn_t 
*memory_map_size,
                                efi_uintn_t *descriptor_size,
                                uint32_t *descriptor_version)
 {
+       int map_entries;
        efi_uintn_t map_size = 0;
-       int map_entries = 0;
        struct list_head *lhandle;
        efi_uintn_t provided_map_size;
 
@@ -752,8 +752,7 @@ efi_status_t efi_get_memory_map(efi_uintn_t 
*memory_map_size,
 
        provided_map_size = *memory_map_size;
 
-       list_for_each(lhandle, &efi_mem)
-               map_entries++;
+       map_entries = list_count_nodes(&efi_mem);
 
        map_size = map_entries * sizeof(struct efi_mem_desc);
 
-- 
2.34.1

Reply via email to