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

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

From: Andrew Morton <akpm@linux-foundation.org>
Date: 2015-12-01 00:01:21
Also in: linux-arm-kernel, 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?

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help