• Ard Biesheuvel's avatar
    ef/libstub/arm/arm64: Randomize the base of the UEFI rt services region · e69176d6
    Ard Biesheuvel authored
    Update the allocation logic for the virtual mapping of the UEFI runtime
    services to start from a randomized base address if KASLR is in effect,
    and if the UEFI firmware exposes an implementation of EFI_RNG_PROTOCOL.
    
    This makes it more difficult to predict the location of exploitable
    data structures in the runtime UEFI firmware, which increases robustness
    against attacks. Note that these regions are only mapped during the
    time a runtime service call is in progress, and only on a single CPU
    at a time, bit given the lack of a downside, let's enable it nonetheless.
    Signed-off-by: default avatarArd Biesheuvel <ard.biesheuvel@linaro.org>
    Cc: Borislav Petkov <bp@alien8.de>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Matt Fleming <matt@codeblueprint.co.uk>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: bhe@redhat.com
    Cc: bhsharma@redhat.com
    Cc: eugene@hp.com
    Cc: evgeny.kalugin@intel.com
    Cc: jhugo@codeaurora.org
    Cc: leif.lindholm@linaro.org
    Cc: linux-efi@vger.kernel.org
    Cc: mark.rutland@arm.com
    Cc: roy.franz@cavium.com
    Cc: rruigrok@codeaurora.org
    Link: http://lkml.kernel.org/r/20170404160910.28115-3-ard.biesheuvel@linaro.orgSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
    e69176d6
arm-stub.c 11.6 KB