]> git.baikalelectronics.ru Git - kernel.git/commit
efi/arm: preserve early mapping of UEFI memory map longer for BGRT
authorArd Biesheuvel <ard.biesheuvel@linaro.org>
Mon, 23 Jul 2018 01:57:30 +0000 (10:57 +0900)
committerWill Deacon <will.deacon@arm.com>
Mon, 23 Jul 2018 14:33:18 +0000 (15:33 +0100)
commit2ba801f7dcf51f50c7d439a5eaffc6e003db5779
tree9b74cb231baf0358ab06ce4afc7e40e24043bbb4
parentef0f74fd911c097fca1a76ac61a3ae47f74d0629
efi/arm: preserve early mapping of UEFI memory map longer for BGRT

The BGRT code validates the contents of the table against the UEFI
memory map, and so it expects it to be mapped when the code runs.

On ARM, this is currently not the case, since we tear down the early
mapping after efi_init() completes, and only create the permanent
mapping in arm_enable_runtime_services(), which executes as an early
initcall, but still leaves a window where the UEFI memory map is not
mapped.

So move the call to efi_memmap_unmap() from efi_init() to
arm_enable_runtime_services().

Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
[will: fold in EFI_MEMMAP attribute check from Ard]
Signed-off-by: Will Deacon <will.deacon@arm.com>
drivers/firmware/efi/arm-init.c
drivers/firmware/efi/arm-runtime.c