diff options
author | Ard Biesheuvel <ardb@kernel.org> | 2022-12-05 11:10:17 +0300 |
---|---|---|
committer | Ard Biesheuvel <ardb@kernel.org> | 2022-12-07 21:50:44 +0300 |
commit | a37dac5c5dcfe0f1fd58513c16cdbc280a47f628 (patch) | |
tree | ecce8a5149a40a52f75d3a446877f0611faf9d0b /drivers/firmware/efi/libstub/efistub.h | |
parent | d9f26ae731259c8fb2d62a742c64e454996944a8 (diff) | |
download | linux-a37dac5c5dcfe0f1fd58513c16cdbc280a47f628.tar.xz |
arm64: efi: Limit allocations to 48-bit addressable physical region
The UEFI spec does not mention or reason about the configured size of
the virtual address space at all, but it does mention that all memory
should be identity mapped using a page size of 4 KiB.
This means that a LPA2 capable system that has any system memory outside
of the 48-bit addressable physical range and follows the spec to the
letter may serve page allocation requests from regions of memory that
the kernel cannot access unless it was built with LPA2 support and
enables it at runtime.
So let's ensure that all page allocations are limited to the 48-bit
range.
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Diffstat (limited to 'drivers/firmware/efi/libstub/efistub.h')
-rw-r--r-- | drivers/firmware/efi/libstub/efistub.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/firmware/efi/libstub/efistub.h b/drivers/firmware/efi/libstub/efistub.h index ed405f8d09a8..5b8f2c411ed8 100644 --- a/drivers/firmware/efi/libstub/efistub.h +++ b/drivers/firmware/efi/libstub/efistub.h @@ -29,6 +29,10 @@ #define EFI_ALLOC_ALIGN EFI_PAGE_SIZE #endif +#ifndef EFI_ALLOC_LIMIT +#define EFI_ALLOC_LIMIT ULONG_MAX +#endif + extern bool efi_nochunk; extern bool efi_nokaslr; extern int efi_loglevel; |