Mate Kukri dc0a3a27d6 kern/efi/mm: Change grub_efi_mm_add_regions() to keep track of map allocation size
If the map was too big for the initial allocation, it was freed and replaced
with a bigger one, but the free call still used the hard-coded size.

Seems like this wasn't hit for a long time, because most firmware maps
fit into 12K.

This bug was triggered on Project Mu firmware with a big memory map, and
results in the heap getting trashed and the firmware ASSERTING on
corrupted heap guard values when GRUB exits.

Signed-off-by: Mate Kukri <mate.kukri@canonical.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
2024-06-20 15:30:32 +02:00
..
2022-03-14 15:46:55 +01:00
2022-03-14 15:46:55 +01:00
2020-07-29 16:55:47 +02:00
2023-05-25 16:48:00 +02:00
2022-03-14 15:46:55 +01:00
2012-02-26 22:49:24 +01:00
2023-11-08 05:04:24 +01:00
2022-03-14 15:46:55 +01:00
2010-05-06 11:34:04 +05:30