summaryrefslogtreecommitdiffstats
path: root/arch/arm/mm
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2010-06-30 11:00:01 +0100
committerRussell King <rmk+kernel@arm.linux.org.uk>2010-06-30 11:00:01 +0100
commitfc4978b796e5e52ab3a709495a968199afe0a108 (patch)
tree102c74707940214f3c9810dadaf62d0d378a7a8c /arch/arm/mm
parent3260e5293727f16ffdce9a6a6203fd9a6b149e58 (diff)
parentdf0698be14c6683606d5df2d83e3ae40f85ed0d9 (diff)
Merge git://git.linaro.org/nico/arm_security into devel-stable
Diffstat (limited to 'arch/arm/mm')
-rw-r--r--arch/arm/mm/mmap.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/arm/mm/mmap.c b/arch/arm/mm/mmap.c
index f5abc51c5a0..4f5b39687df 100644
--- a/arch/arm/mm/mmap.c
+++ b/arch/arm/mm/mmap.c
@@ -7,6 +7,7 @@
#include <linux/shm.h>
#include <linux/sched.h>
#include <linux/io.h>
+#include <linux/random.h>
#include <asm/cputype.h>
#include <asm/system.h>
@@ -80,6 +81,9 @@ arch_get_unmapped_area(struct file *filp, unsigned long addr,
start_addr = addr = TASK_UNMAPPED_BASE;
mm->cached_hole_size = 0;
}
+ /* 8 bits of randomness in 20 address space bits */
+ if (current->flags & PF_RANDOMIZE)
+ addr += (get_random_int() % (1 << 8)) << PAGE_SHIFT;
full_search:
if (do_align)