mbox series

[v6,0/2] efi: Free memory on exit

Message ID 20170831135451.55703-1-agraf@suse.de
Headers show
Series efi: Free memory on exit | expand

Message

Alexander Graf Aug. 31, 2017, 1:54 p.m. UTC
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

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     | 90 +++++++++++++++++++++++++++++++++++++++++++++
 grub-core/lib/efi/reboot.c  | 33 -----------------
 include/grub/efi/efi.h      |  1 +
 include/grub/misc.h         |  3 +-
 7 files changed, 103 insertions(+), 38 deletions(-)
 delete mode 100644 grub-core/lib/efi/reboot.c

-- 
2.12.3


_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel