diff options
| author | Nicolas Pitre <nicolas.pitre@linaro.org> | 2011-04-13 04:57:17 +0100 | 
|---|---|---|
| committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2011-04-14 09:15:24 +0100 | 
| commit | df5419a9a90ac4ea2d853d68cc788e32cfe71278 (patch) | |
| tree | ad6944bb43009c48c75106d8f2a5918cdd0c1b6b /arch/arm/mm | |
| parent | b025a3f836d1e8785ae65b59282a4befef9892bb (diff) | |
ARM: 6877/1: the ADDR_NO_RANDOMIZE personality flag should be honored with mmap()
Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mm')
| -rw-r--r-- | arch/arm/mm/mmap.c | 4 | 
1 files changed, 3 insertions, 1 deletions
| diff --git a/arch/arm/mm/mmap.c b/arch/arm/mm/mmap.c index afe209e1e1f8..74be05f3e03a 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/personality.h>  #include <linux/random.h>  #include <asm/cputype.h>  #include <asm/system.h> @@ -82,7 +83,8 @@ arch_get_unmapped_area(struct file *filp, unsigned long addr,  	        mm->cached_hole_size = 0;  	}  	/* 8 bits of randomness in 20 address space bits */ -	if (current->flags & PF_RANDOMIZE) +	if ((current->flags & PF_RANDOMIZE) && +	    !(current->personality & ADDR_NO_RANDOMIZE))  		addr += (get_random_int() % (1 << 8)) << PAGE_SHIFT;  full_search: | 
