From: Kees Cook <keescook@chromium.org>
To: Ingo Molnar <mingo@redhat.com>
Cc: linux-kernel@vger.kernel.org, "H. Peter Anvin" <hpa@zytor.com>,
Thomas Gleixner <tglx@linutronix.de>,
x86@kernel.org
Subject: [PATCH -next] x86, kaslr: clarify RANDOMIZE_BASE_MAX_OFFSET
Date: Tue, 10 Dec 2013 12:27:45 -0800 [thread overview]
Message-ID: <20131210202745.GA2961@www.outflux.net> (raw)
The help text for RANDOMIZE_BASE_MAX_OFFSET was confusing. This has been
clarified, and updated to be an export-only tunable.
Signed-off-by: Kees Cook <keescook@chromium.org>
---
arch/x86/Kconfig | 29 ++++++++++++++++++-----------
1 file changed, 18 insertions(+), 11 deletions(-)
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index a5c83b9dad45..e5fd1e67fd73 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -1752,26 +1752,33 @@ config RANDOMIZE_BASE
possible. At best, due to page table layouts, 64-bit can use
9 bits of entropy and 32-bit uses 8 bits.
+ If unsure, say N.
+
config RANDOMIZE_BASE_MAX_OFFSET
- hex "Maximum ASLR offset allowed"
+ hex "Maximum kASLR offset allowed" if EXPERT
depends on RANDOMIZE_BASE
range 0x0 0x20000000 if X86_32
default "0x20000000" if X86_32
range 0x0 0x40000000 if X86_64
default "0x40000000" if X86_64
---help---
- Determines the maximal offset in bytes that will be applied to the
- kernel when Address Space Layout Randomization (ASLR) is active.
- Must be less than or equal to the actual physical memory on the
- system. This must be a multiple of CONFIG_PHYSICAL_ALIGN.
+ The lesser of RANDOMIZE_BASE_MAX_OFFSET and available physical
+ memory is used to determine the maximal offset in bytes that will
+ be applied to the kernel when kernel Address Space Layout
+ Randomization (kASLR) is active. This must be a multiple of
+ PHYSICAL_ALIGN.
+
+ On 32-bit this is limited to 512MiB by page table layouts. The
+ default is 512MiB.
- On 32-bit this is limited to 512MiB.
+ On 64-bit this is limited by how the kernel fixmap page table is
+ positioned, so this cannot be larger than 1GiB currently. Without
+ RANDOMIZE_BASE, there is a 512MiB to 1.5GiB split between kernel
+ and modules. When RANDOMIZE_BASE_MAX_OFFSET is above 512MiB, the
+ modules area will shrink to compensate, up to the current maximum
+ 1GiB to 1GiB split. The default is 1GiB.
- On 64-bit this is limited by how the kernel fixmap page table is
- positioned, so this cannot be larger that 1GiB currently. Normally
- there is a 512MiB to 1.5GiB split between kernel and modules. When
- this is raised above the 512MiB default, the modules area will
- shrink to compensate, up to the current maximum 1GiB to 1GiB split.
+ If unsure, leave at the default value.
# Relocation on x86 needs some additional build support
config X86_NEED_RELOCS
--
1.7.9.5
--
Kees Cook
Chrome OS Security
next reply other threads:[~2013-12-10 20:28 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-12-10 20:27 Kees Cook [this message]
2013-12-11 11:02 ` Ingo Molnar
2014-01-14 18:48 ` [tip:x86/kaslr] x86, kaslr: Clarify RANDOMIZE_BASE_MAX_OFFSET tip-bot for Kees Cook
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20131210202745.GA2961@www.outflux.net \
--to=keescook@chromium.org \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=tglx@linutronix.de \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®