Skip to content

Commit 2897537

Browse files
wildea01gregkh
authored andcommitted
arm64: Kconfig: Reword UNMAP_KERNEL_AT_EL0 kconfig entry
Although CONFIG_UNMAP_KERNEL_AT_EL0 does make KASLR more robust, it's actually more useful as a mitigation against speculation attacks that can leak arbitrary kernel data to userspace through speculation. Reword the Kconfig help message to reflect this, and make the option depend on EXPERT so that it is on by default for the majority of users. Signed-off-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
1 parent 5baaf50 commit 2897537

File tree

1 file changed

+6
-7
lines changed

1 file changed

+6
-7
lines changed

arch/arm64/Kconfig

+6-7
Original file line numberDiff line numberDiff line change
@@ -528,15 +528,14 @@ config FORCE_MAX_ZONEORDER
528528
default "11"
529529

530530
config UNMAP_KERNEL_AT_EL0
531-
bool "Unmap kernel when running in userspace (aka \"KAISER\")"
531+
bool "Unmap kernel when running in userspace (aka \"KAISER\")" if EXPERT
532532
default y
533533
help
534-
Some attacks against KASLR make use of the timing difference between
535-
a permission fault which could arise from a page table entry that is
536-
present in the TLB, and a translation fault which always requires a
537-
page table walk. This option defends against these attacks by unmapping
538-
the kernel whilst running in userspace, therefore forcing translation
539-
faults for all of kernel space.
534+
Speculation attacks against some high-performance processors can
535+
be used to bypass MMU permission checks and leak kernel data to
536+
userspace. This can be defended against by unmapping the kernel
537+
when running in userspace, mapping it back in on exception entry
538+
via a trampoline page in the vector table.
540539

541540
If unsure, say Y.
542541

0 commit comments

Comments
 (0)