linux/drivers/firmware/efi/libstub
Ard Biesheuvel 2b5fe07a78 arm64: efi: invoke EFI_RNG_PROTOCOL to supply KASLR randomness
Since arm64 does not use a decompressor that supplies an execution
environment where it is feasible to some extent to provide a source of
randomness, the arm64 KASLR kernel depends on the bootloader to supply
some random bits in the /chosen/kaslr-seed DT property upon kernel entry.

On UEFI systems, we can use the EFI_RNG_PROTOCOL, if supplied, to obtain
some random bits. At the same time, use it to randomize the offset of the
kernel Image in physical memory.

Reviewed-by: Matt Fleming <matt@codeblueprint.co.uk>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2016-02-24 14:57:29 +00:00
..
arm32-stub.c ARM: add UEFI stub support 2015-12-14 10:38:21 +01:00
arm64-stub.c arm64: efi: invoke EFI_RNG_PROTOCOL to supply KASLR randomness 2016-02-24 14:57:29 +00:00
arm-stub.c arm64: efi: invoke EFI_RNG_PROTOCOL to supply KASLR randomness 2016-02-24 14:57:29 +00:00
efi-stub-helper.c efi: stub: use high allocation for converted command line 2016-02-24 14:57:28 +00:00
efistub.h efi: stub: add implementation of efi_random_alloc() 2016-02-24 14:57:28 +00:00
fdt.c arm64: efi: invoke EFI_RNG_PROTOCOL to supply KASLR randomness 2016-02-24 14:57:29 +00:00
Makefile efi: stub: implement efi_get_random_bytes() based on EFI_RNG_PROTOCOL 2016-02-24 14:57:28 +00:00
random.c efi: stub: add implementation of efi_random_alloc() 2016-02-24 14:57:28 +00:00
string.c arm64/efi: isolate EFI stub from the kernel proper 2015-10-12 16:20:12 +01:00