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>
This commit is contained in:
Nicolas Pitre 2011-04-13 04:57:17 +01:00 коммит произвёл Russell King
Родитель b025a3f836
Коммит df5419a9a9
1 изменённых файлов: 3 добавлений и 1 удалений

Просмотреть файл

@ -7,6 +7,7 @@
#include <linux/shm.h> #include <linux/shm.h>
#include <linux/sched.h> #include <linux/sched.h>
#include <linux/io.h> #include <linux/io.h>
#include <linux/personality.h>
#include <linux/random.h> #include <linux/random.h>
#include <asm/cputype.h> #include <asm/cputype.h>
#include <asm/system.h> #include <asm/system.h>
@ -82,7 +83,8 @@ arch_get_unmapped_area(struct file *filp, unsigned long addr,
mm->cached_hole_size = 0; mm->cached_hole_size = 0;
} }
/* 8 bits of randomness in 20 address space bits */ /* 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; addr += (get_random_int() % (1 << 8)) << PAGE_SHIFT;
full_search: full_search: