[U-Boot] [PATCH v2 0/6] efi_loader: implement BS.FreePages()/BS.FreePool, some cleanup

Stefan Brüns stefan.bruens at rwth-aachen.de
Sat Oct 1 19:31:48 CEST 2016


Linux 4.8 no longer boots, as it runs out of descriptor space. Readding
the mapping allows reuse, and the next AllocatePool will likely not add
a new mapping.

Also fix some small issues found while debugging.

v2, updated:
  efi_loader: Fix memory map size check to avoid out-of-bounds access
  - (Hopefully) clarified commit message
  efi_loader: Track size of pool allocations to allow freeing
  - rebased on top of 'efi_loader: Fix crash on 32-bit systems'
  - assert correct address in efi_free_pool
  - use EFI_PAGE_MASK instead of 0xfff, EFI_PAGE_SHIFT likewise

Stefan Brüns (6):
  efi_loader: Update description of internal efi_mem_carve_out
  efi_loader: Fix memory map size check to avoid out-of-bounds access
  efi_loader: Track size of pool allocations to allow freeing
  efi_loader: Readd freed pages to memory pool
  efi_loader: Keep memory mapping sorted when splitting an entry
  efi_loader: Do not leak memory when unlinking a mapping

 lib/efi_loader/efi_boottime.c | 24 +++++++++++++++++++++---
 lib/efi_loader/efi_memory.c   | 43 ++++++++++++++++++++++++++++++++-----------
 2 files changed, 53 insertions(+), 14 deletions(-)

-- 
2.10.0



More information about the U-Boot mailing list