grub-devel
[Top][All Lists]
Advanced

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

[PATCH v7 0/2] efi: Free memory on exit


From: Alexander Graf
Subject: [PATCH v7 0/2] efi: Free memory on exit
Date: Thu, 31 Aug 2017 16:40:17 +0200

When exiting grub, we currently leave the heap allocated. This means that if we
exit and rerun grub, after a few iterations we can run into memory shortage.

This patch set frees the heap on exit. That way we can rerun grub many times
without much problem.

v3 -> v4:

  - Move grub_reboot to kern/efi/efi.c
  - use dynamic list instead of static array at runtime
  - use allocate_pool for list, so we are not bound by heap or random numbers
  - remember all allocations, not just the heap

v4 -> v5:

  - free dynamic list entries on allocation removal

v5 -> v6:

  - move next ptr to last field
  - s/start_addr/address/
  - s/grub_efi_unremember_pages()/grub_efi_drop_alloc()/
  - s/grub_efi_remember_pages()/grub_efi_store_alloc()/
  - move grub_efi_drop_alloc after grub_efi_store_alloc
  - s/grub2/GRUB/
  - Make grub_efi_memory_fini comment more verbose
  - Drop useless efi_allocated_memory = NULL; line

v6 -> v7:

  - rewrite grub_efi_drop_alloc() according to Daniel's comments

Alexander Graf (2):
  efi: Move grub_reboot() into kernel
  efi: Free malloc regions on exit

 grub-core/Makefile.core.def |  4 ---
 grub-core/kern/efi/efi.c    |  9 ++++++
 grub-core/kern/efi/init.c   |  1 +
 grub-core/kern/efi/mm.c     | 79 +++++++++++++++++++++++++++++++++++++++++++++
 grub-core/lib/efi/reboot.c  | 33 -------------------
 include/grub/efi/efi.h      |  1 +
 include/grub/misc.h         |  3 +-
 7 files changed, 92 insertions(+), 38 deletions(-)
 delete mode 100644 grub-core/lib/efi/reboot.c

-- 
2.12.3




reply via email to

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