x86/mm/KASLR: Propagate KASLR status to kernel proper
authorBorislav Petkov <bp@suse.de>
Wed, 1 Apr 2015 10:49:52 +0000 (12:49 +0200)
committerIngo Molnar <mingo@kernel.org>
Fri, 3 Apr 2015 13:26:15 +0000 (15:26 +0200)
commit78cac48c0434c82e860fade3cd0420a7a4adbb08
tree76e1afefb1a0f9baad05487738de9f1b4a126aa7
parent47091e3c5b072daca29a15d2a3caf40359b0d140
x86/mm/KASLR: Propagate KASLR status to kernel proper

Commit:

  e2b32e678513 ("x86, kaslr: randomize module base load address")

made module base address randomization unconditional and didn't regard
disabled KKASLR due to CONFIG_HIBERNATION and command line option
"nokaslr". For more info see (now reverted) commit:

  f47233c2d34f ("x86/mm/ASLR: Propagate base load address calculation")

In order to propagate KASLR status to kernel proper, we need a single bit
in boot_params.hdr.loadflags and we've chosen bit 1 thus leaving the
top-down allocated bits for bits supposed to be used by the bootloader.

Originally-From: Jiri Kosina <jkosina@suse.cz>
Suggested-by: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Cc: Kees Cook <keescook@chromium.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Documentation/x86/boot.txt
arch/x86/boot/compressed/aslr.c
arch/x86/boot/compressed/misc.c
arch/x86/boot/compressed/misc.h
arch/x86/include/asm/setup.h
arch/x86/include/uapi/asm/bootparam.h
arch/x86/kernel/module.c
arch/x86/kernel/setup.c