linux/drivers/firmware
Jeffrey Hugo b4bcdf6887 efi/libstub: Allocate headspace in efi_get_memory_map()
commit dadb57abc3 upstream.

efi_get_memory_map() allocates a buffer to store the memory map that it
retrieves.  This buffer may need to be reused by the client after
ExitBootServices() is called, at which point allocations are not longer
permitted.  To support this usecase, provide the allocated buffer size back
to the client, and allocate some additional headroom to account for any
reasonable growth in the map that is likely to happen between the call to
efi_get_memory_map() and the client reusing the buffer.

Signed-off-by: Jeffrey Hugo <jhugo@codeaurora.org>
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Leif Lindholm <leif.lindholm@linaro.org>
Cc: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Matt Fleming <matt@codeblueprint.co.uk>
[bwh: Backported to 3.16:
 - Adjust filenames, context
 - In allocate_new_fdt_and_exit_boot(), only fill memory_map
 - Drop changes to efi_random_alloc()]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
History 2016-11-20 01:17:23 +00:00
..
efi efi/libstub: Allocate headspace in efi_get_memory_map() 2016-11-20 01:17:23 +00:00
google firmware: google memconsole driver fixes 2014-02-15 11:30:28 -08:00
dcdbas.c initconst: Fix initconst mistake in dcdbas 2014-02-13 18:14:54 -08:00
dcdbas.h dcdbas: export functionality for use in other drivers 2009-01-08 08:31:12 -08:00
dell_rbu.c sysfs: add struct file* to bin_attr callbacks 2010-05-21 09:37:31 -07:00
dmi-id.c dmi-id: fix a memory leak in dmi_id_init error path 2010-08-05 13:53:34 -07:00
dmi-sysfs.c firmware: dmi-sysfs: Remove "dmi" directory on module exit 2013-12-08 18:23:42 -08:00
dmi_scan.c Revert "firmware: dmi_scan: Fix UUID endianness for SMBIOS >= 2.6" 2016-03-03 11:45:37 +00:00
edd.c [SCSI] edd: Treat "XPRS" host bus type the same as "PCI" 2011-10-31 13:26:19 +04:00
iscsi_ibft.c iscsi_ibft: Fix finding Broadcom specific ibft sign 2014-05-13 14:54:14 -04:00
iscsi_ibft_find.c efi: Make 'efi_enabled' a function to query EFI facilities 2013-01-30 11:51:59 -08:00
Kconfig ACPI and power management updates for 3.14-rc1 2014-01-24 15:51:02 -08:00
Makefile x86/efi: Don't select EFI from certain special ACPI drivers 2013-12-19 21:32:46 +01:00
memmap.c drivers/firmware/memmap.c: use memblock apis for early memory allocations 2014-01-21 16:19:47 -08:00
pcdp.c pcdp: use early_ioremap/early_iounmap to access pcdp table 2012-07-30 17:25:11 -07:00
pcdp.h Update broken web addresses in the kernel. 2010-10-18 11:03:14 +02:00