summaryrefslogtreecommitdiffstats
path: root/fs/nfsd
diff options
context:
space:
mode:
authorArd Biesheuvel <ardb@kernel.org>2024-05-16 11:05:42 +0200
committerArd Biesheuvel <ardb@kernel.org>2024-05-17 17:06:18 +0200
commit15aa8fb852f995dd234a57f12dfb989044968bb6 (patch)
tree3843878c3e3bef55f792ba640d864d3ca3a37bb3 /fs/nfsd
parent4b2543f7e1e6b91cfc8dd1696e3cdf01c3ac8974 (diff)
downloadlinux-15aa8fb852f995dd234a57f12dfb989044968bb6.tar.gz
linux-15aa8fb852f995dd234a57f12dfb989044968bb6.tar.bz2
linux-15aa8fb852f995dd234a57f12dfb989044968bb6.zip
x86/efistub: Omit physical KASLR when memory reservations exist
The legacy decompressor has elaborate logic to ensure that the randomized physical placement of the decompressed kernel image does not conflict with any memory reservations, including ones specified on the command line using mem=, memmap=, efi_fake_mem= or hugepages=, which are taken into account by the kernel proper at a later stage. When booting in EFI mode, it is the firmware's job to ensure that the chosen range does not conflict with any memory reservations that it knows about, and this is trivially achieved by using the firmware's memory allocation APIs. That leaves reservations specified on the command line, though, which the firmware knows nothing about, as these regions have no other special significance to the platform. Since commit a1b87d54f4e4 ("x86/efistub: Avoid legacy decompressor when doing EFI boot") these reservations are not taken into account when randomizing the physical placement, which may result in conflicts where the memory cannot be reserved by the kernel proper because its own executable image resides there. To avoid having to duplicate or reuse the existing complicated logic, disable physical KASLR entirely when such overrides are specified. These are mostly diagnostic tools or niche features, and physical KASLR (as opposed to virtual KASLR, which is much more important as it affects the memory addresses observed by code executing in the kernel) is something we can live without. Closes: https://lkml.kernel.org/r/FA5F6719-8824-4B04-803E-82990E65E627%40akamai.com Reported-by: Ben Chaney <bchaney@akamai.com> Fixes: a1b87d54f4e4 ("x86/efistub: Avoid legacy decompressor when doing EFI boot") Cc: <stable@vger.kernel.org> # v6.1+ Reviewed-by: Kees Cook <keescook@chromium.org> Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Diffstat (limited to 'fs/nfsd')
0 files changed, 0 insertions, 0 deletions