https://github.com/torvalds/linux
Revision 1dddd25125112ba49706518ac9077a1026a18f37 authored by Thomas Gleixner on 04 January 2018, 11:32:03 UTC, committed by Thomas Gleixner on 04 January 2018, 23:39:57 UTC
vaddr_end for KASLR is only documented in the KASLR code itself and is
adjusted depending on config options. So it's not surprising that a change
of the memory layout causes KASLR to have the wrong vaddr_end. This can map
arbitrary stuff into other areas causing hard to understand problems.

Remove the whole ifdef magic and define the start of the cpu_entry_area to
be the end of the KASLR vaddr range.

Add documentation to that effect.

Fixes: 92a0f81d8957 ("x86/cpu_entry_area: Move it out of the fixmap")
Reported-by: Benjamin Gilbert <benjamin.gilbert@coreos.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Benjamin Gilbert <benjamin.gilbert@coreos.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: stable <stable@vger.kernel.org>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Garnier <thgarnie@google.com>,
Cc: Alexander Kuleshov <kuleshovmail@gmail.com>
Link: https://lkml.kernel.org/r/alpine.DEB.2.20.1801041320360.1771@nanos
1 parent f207890
History
Tip revision: 1dddd25125112ba49706518ac9077a1026a18f37 authored by Thomas Gleixner on 04 January 2018, 11:32:03 UTC
x86/kaslr: Fix the vaddr_end mess
Tip revision: 1dddd25
File Mode Size
.gitignore -rw-r--r-- 44 bytes
Kconfig -rw-r--r-- 3.4 KB
Makefile -rw-r--r-- 4.1 KB
blacklist.c -rw-r--r-- 4.0 KB
blacklist.h -rw-r--r-- 83 bytes
blacklist_hashes.c -rw-r--r-- 166 bytes
blacklist_nohashes.c -rw-r--r-- 121 bytes
system_certificates.S -rw-r--r-- 956 bytes
system_keyring.c -rw-r--r-- 7.5 KB

back to top