grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] efi: mm: Fix incorrect free size


From: Zhou Jianfeng
Subject: [PATCH] efi: mm: Fix incorrect free size
Date: Tue, 23 Apr 2024 09:04:34 +0800

From: Zhou JianFeng <jianfeng.zhou@intel.com>

Memory freed by function grub_efi_free_pages() with wrong pages will
not be removed from list efi_allocated_memory by function
grub_efi_drop_alloc(), it will be freed again by function
grub_efi_memory_fini() which is called by function
grub_machine_fini()/grub_exit() when exit grub.
Freeing memory twice may lead to unpredictable result.

Cc: daniel.kiper@oracle.com
Cc: alexander.burmashev@oracle.com
Cc: phcoder@gmail.com
Signed-off-by: Zhou JianFeng <jianfeng.zhou@intel.com>
---
 grub-core/kern/efi/mm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/grub-core/kern/efi/mm.c b/grub-core/kern/efi/mm.c
index 6a6fba891..49daa976f 100644
--- a/grub-core/kern/efi/mm.c
+++ b/grub-core/kern/efi/mm.c
@@ -643,7 +643,7 @@ grub_efi_mm_add_regions (grub_size_t required_bytes, 
unsigned int flags)

   /* Release the memory maps.  */
   grub_efi_free_pages ((grub_addr_t) memory_map,
-                      2 * BYTES_TO_PAGES (MEMORY_MAP_SIZE));
+                      2 * BYTES_TO_PAGES (map_size));

   return GRUB_ERR_NONE;
 }
--
2.25.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]