]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/commit
efi/libstub: Allocate headspace in efi_get_memory_map()
authorJeffrey Hugo <jhugo@codeaurora.org>
Mon, 29 Aug 2016 20:38:51 +0000 (14:38 -0600)
committerMatt Fleming <matt@codeblueprint.co.uk>
Mon, 5 Sep 2016 11:18:17 +0000 (12:18 +0100)
commitdadb57abc37499f565b23933dbf49b435c3ba8af
tree80721c262bfd0a51f3448b09d6a4b392701f2202
parent4af9ed578a50cd331a725322cfd9d555251ce788
efi/libstub: Allocate headspace in efi_get_memory_map()

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>
Cc: <stable@vger.kernel.org>
Signed-off-by: Matt Fleming <matt@codeblueprint.co.uk>
arch/x86/boot/compressed/eboot.c
drivers/firmware/efi/libstub/efi-stub-helper.c
drivers/firmware/efi/libstub/fdt.c
drivers/firmware/efi/libstub/random.c
include/linux/efi.h