efi: libstub: ensure allocated memory to be executable
authorBaskov Evgeniy <baskov@ispras.ru>
Thu, 3 Mar 2022 14:21:20 +0000 (17:21 +0300)
committerArd Biesheuvel <ardb@kernel.org>
Tue, 3 May 2022 13:31:28 +0000 (15:31 +0200)
commit82e0d6d76a2a74bd6a31141d555d53b4cc22c2a3
tree719ed919905a1c8a7a6a0b4942ddb803df9f60e3
parent3ba75c1316390b2bc39c19cb8f0f85922ab3f9ed
efi: libstub: ensure allocated memory to be executable

There are UEFI versions that restrict execution of memory regions,
preventing the kernel from booting. Parts that needs to be executable
are:

* Area used for trampoline placement.
* All memory regions that the kernel may be relocated before
  and during extraction.

Use DXE services to ensure aforementioned address ranges
to be executable. Only modify attributes that does not
have appropriate attributes.

Signed-off-by: Baskov Evgeniy <baskov@ispras.ru>
Link: https://lore.kernel.org/r/20220303142120.1975-3-baskov@ispras.ru
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
drivers/firmware/efi/Kconfig
drivers/firmware/efi/libstub/x86-stub.c