]> git.baikalelectronics.ru Git - kernel.git/commit
arm64: efi: Fix handling of misaligned runtime regions and drop warning
authorArd Biesheuvel <ardb@kernel.org>
Sun, 6 Nov 2022 14:53:54 +0000 (15:53 +0100)
committerArd Biesheuvel <ardb@kernel.org>
Thu, 10 Nov 2022 22:14:15 +0000 (23:14 +0100)
commit77e6b5d0f1aa5485843eee202d237ac55b7fe7e7
tree45b03818381214c9972e49716a664e26eadfddf7
parentb8e91030e10c76072ba2d62bb4afc3511dd095ba
arm64: efi: Fix handling of misaligned runtime regions and drop warning

Currently, when mapping the EFI runtime regions in the EFI page tables,
we complain about misaligned regions in a rather noisy way, using
WARN().

Not only does this produce a lot of irrelevant clutter in the log, it is
factually incorrect, as misaligned runtime regions are actually allowed
by the EFI spec as long as they don't require conflicting memory types
within the same 64k page.

So let's drop the warning, and tweak the code so that we
- take both the start and end of the region into account when checking
  for misalignment
- only revert to RWX mappings for non-code regions if misaligned code
  regions are also known to exist.

Cc: <stable@vger.kernel.org>
Acked-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
arch/arm64/kernel/efi.c