mbox series

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

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

Message

Alexander Graf Aug. 31, 2017, 2:40 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

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


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

Comments

Daniel Kiper Sept. 4, 2017, 1:44 p.m. UTC | #1
On Thu, Aug 31, 2017 at 04:40:17PM +0200, Alexander Graf wrote:
> 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.


Whole patchset LGTM. If there are no objections then I will apply it by
the end of this week.

Daniel

_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel
Daniel Kiper Sept. 7, 2017, 9:48 p.m. UTC | #2
On Mon, Sep 04, 2017 at 03:44:37PM +0200, Daniel Kiper wrote:
> On Thu, Aug 31, 2017 at 04:40:17PM +0200, Alexander Graf wrote:

> > 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.

>

> Whole patchset LGTM. If there are no objections then I will apply it by

> the end of this week.


Applied!

Thanks,

Daniel

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