Thread (15 messages) flat view 15 messages, 3 authors, 2015-12-01

[PATCH v4 1/4] mm: mmap: Add new /proc tunable for mmap_base ASLR.

From: akpm@linux-foundation.org (Andrew Morton)
Date: 2015-12-01 00:01:21
Also in: linux-mm, lkml

On Mon, 30 Nov 2015 15:54:12 -0800 Andrew Morton [off-list ref] wrote:
On Thu, 26 Nov 2015 14:59:42 -0800 Daniel Cashman [off-list ref] wrote:
quoted
ASLR  only uses as few as 8 bits to generate the random offset for the
mmap base address on 32 bit architectures. This value was chosen to
prevent a poorly chosen value from dividing the address space in such
a way as to prevent large allocations. This may not be an issue on all
platforms. Allow the specification of a minimum number of bits so that
platforms desiring greater ASLR protection may determine where to place
the trade-off.
--- a/kernel/sysctl.c
+++ b/kernel/sysctl.c
@@ -1568,6 +1568,28 @@ static struct ctl_table vm_table[] = {
 		.mode		= 0644,
 		.proc_handler	= proc_doulongvec_minmax,
 	},
+#ifdef CONFIG_HAVE_ARCH_MMAP_RND_BITS
+	{
+		.procname	= "mmap_rnd_bits",
+		.data		= &mmap_rnd_bits,
+		.maxlen		= sizeof(mmap_rnd_bits),
+		.mode		= 0600,
+		.proc_handler	= proc_dointvec_minmax,
+		.extra1		= (void *) &mmap_rnd_bits_min,
+		.extra2		= (void *) &mmap_rnd_bits_max,
hm, why the typecasts?  They're unneeded and are omitted everywhere(?)
else in kernel/sysctl.c.
Oh.  Casting away constness.

What's the thinking here?  They can change at any time so they aren't
const so we shouldn't declare them to be const?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help