]> git.baikalelectronics.ru Git - uboot.git/commit
efi_loader: Ensure memory allocations are page aligned
authorAlexander Graf <agraf@suse.de>
Sun, 4 Nov 2018 23:30:46 +0000 (00:30 +0100)
committerAlexander Graf <agraf@suse.de>
Sun, 2 Dec 2018 20:59:37 +0000 (21:59 +0100)
commit33cf78703b151c1824c3c2f9ba11e71840e68e71
treea028f0210ed113a4ccbd305f695d565ccb5c8509
parent65b59f0e748bc233fb01e047147e27ee162adfad
efi_loader: Ensure memory allocations are page aligned

When the max_addr parameter of efi_find_free_memory() is within bounds
of an existing map and fits the reservation, we just return that address
as allocation value.

That breaks however if max_addr is not page aligned. So ensure that it
always comes to us page aligned, simplifying the allocation logic.

Without this, I've seen breakage where we were allocating pages at -1U
(32bit) which fits into a region that spans beyond 0x100000000. In that
case, we would return 0xffffffff as a valid memory allocation, although
we usually do guarantee they are all page aligned.

Fix this by aligning the max address argument always.

Signed-off-by: Alexander Graf <agraf@suse.de>
lib/efi_loader/efi_memory.c