u-boot-brain/lib/efi_loader
Alexander Graf c2e1ad70a7 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>
2018-12-02 21:59:37 +01:00
..
.gitignore lib: gitignore *.elf and *.so generated by efi_loader 2017-01-09 10:30:24 -05:00
efi_acpi.c efi_loader: Install ACPI configuration tables 2018-07-02 09:23:28 +08:00
efi_bootmgr.c efi_loader: fix typos 2018-12-02 21:59:37 +01:00
efi_boottime.c efi_loader: UninstallMultipleProtocolInterfaces error code 2018-12-02 21:59:36 +01:00
efi_console.c efi_loader: fix typos 2018-12-02 21:59:37 +01:00
efi_device_path_to_text.c efi_loader: fix typos 2018-12-02 21:59:37 +01:00
efi_device_path_utilities.c SPDX: Convert a few files that were missed before 2018-05-10 20:38:35 -04:00
efi_device_path.c efi_loader: fix typos in efi_device_path.c 2018-12-02 21:59:36 +01:00
efi_disk.c efi_loader: rename parent to header 2018-12-02 21:59:36 +01:00
efi_file.c efi_loader: superfluous statement in is_dir() 2018-10-16 16:39:57 +02:00
efi_gop.c efi_loader: fix typos 2018-12-02 21:59:37 +01:00
efi_image_loader.c efi_loader: refactor efi_setup_loaded_image() 2018-09-23 21:55:31 +02:00
efi_memory.c efi_loader: Ensure memory allocations are page aligned 2018-12-02 21:59:37 +01:00
efi_net.c efi_loader: fix typos 2018-12-02 21:59:37 +01:00
efi_root_node.c efi_loader: create root node 2018-09-23 21:55:31 +02:00
efi_runtime.c efi_loader: Handle RELA absolute relocations properly 2018-12-02 21:59:37 +01:00
efi_smbios.c Remove <inttypes.h> includes and PRI* usages in printf() entirely 2018-09-10 20:48:17 -04:00
efi_unicode_collation.c efi_loader: EFI_UNICODE_COLLATION_PROTOCOL 2018-09-23 21:55:29 +02:00
efi_variable.c efi_loader: memory leak in efi_set_variable() 2018-10-16 16:40:11 +02:00
efi_watchdog.c SPDX: Convert a few files that were missed before 2018-05-10 20:38:35 -04:00
helloworld.c efi_selftest: use CR LF in helloworld 2018-12-02 21:59:36 +01:00
Kconfig efi: sandbox: Enable EFI loader build for sandbox 2018-09-23 21:55:30 +02:00
Makefile efi_loader: create root node 2018-09-23 21:55:31 +02:00