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 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 | 65 +++++++++++++++++++++++++++++++++++++++++++++ grub-core/lib/efi/reboot.c | 33 ----------------------- include/grub/efi/efi.h | 1 + include/grub/misc.h | 3 ++- 7 files changed, 78 insertions(+), 38 deletions(-) delete mode 100644 grub-core/lib/efi/reboot.c -- 2.12.3 _______________________________________________ Grub-devel mailing list [email protected] https://lists.gnu.org/mailman/listinfo/grub-devel
