linux-uconsole/drivers/firmware/efi
Ard Biesheuvel e009472925 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>
(cherry picked from commit 2b5fe07a78)
Signed-off-by: Alex Shi <alex.shi@linaro.org>
2016-05-11 23:21:22 +08:00
..
libstub arm64: efi: invoke EFI_RNG_PROTOCOL to supply KASLR randomness 2016-05-11 23:21:22 +08:00
cper.c efi: Handle memory error structures produced based on old versions of standard 2015-07-15 13:30:38 +01:00
efi-pstore.c Half dozen small cleanups plus change to allow pstore 2015-11-05 11:51:18 -08:00
efi.c efi: Expose non-blocking set_variable() wrapper to efivars 2016-05-04 14:48:49 -07:00
efivars.c efi: Make our variable validation list include the guid 2016-03-03 15:07:09 -08:00
esrt.c drivers/firmware: Make efi/esrt.c driver explicitly non-modular 2015-10-12 14:20:05 +01:00
fake_mem.c efi: Fix warning of int-to-pointer-cast on x86 32-bit builds 2015-10-28 12:28:06 +01:00
Kconfig * Make the EFI System Resource Table (ESRT) driver explicitly 2015-10-14 16:51:34 +02:00
Makefile arm64 updates for 4.4: 2015-11-04 14:47:13 -08:00
reboot.c x86/reboot: Add EFI reboot quirk for ACPI Hardware Reduced flag 2014-07-18 21:23:52 +01:00
runtime-map.c efi: Fix error handling in add_sysfs_runtime_map_entry() 2015-05-05 16:20:13 +01:00
runtime-wrappers.c efi: Delete the in_nmi() conditional runtime locking 2014-10-03 18:41:03 +01:00
vars.c efi: Fix out-of-bounds read in variable_matches() 2016-05-04 14:48:48 -07:00