diff options
Diffstat (limited to 'arch/arm/mm/mmap.c')
| -rw-r--r-- | arch/arm/mm/mmap.c | 52 | 
1 files changed, 0 insertions, 52 deletions
diff --git a/arch/arm/mm/mmap.c b/arch/arm/mm/mmap.c index f866870db749..b8d912ac9e61 100644 --- a/arch/arm/mm/mmap.c +++ b/arch/arm/mm/mmap.c @@ -17,33 +17,6 @@  	((((addr)+SHMLBA-1)&~(SHMLBA-1)) +	\  	 (((pgoff)<<PAGE_SHIFT) & (SHMLBA-1))) -/* gap between mmap and stack */ -#define MIN_GAP (128*1024*1024UL) -#define MAX_GAP ((TASK_SIZE)/6*5) - -static int mmap_is_legacy(struct rlimit *rlim_stack) -{ -	if (current->personality & ADDR_COMPAT_LAYOUT) -		return 1; - -	if (rlim_stack->rlim_cur == RLIM_INFINITY) -		return 1; - -	return sysctl_legacy_va_layout; -} - -static unsigned long mmap_base(unsigned long rnd, struct rlimit *rlim_stack) -{ -	unsigned long gap = rlim_stack->rlim_cur; - -	if (gap < MIN_GAP) -		gap = MIN_GAP; -	else if (gap > MAX_GAP) -		gap = MAX_GAP; - -	return PAGE_ALIGN(TASK_SIZE - gap - rnd); -} -  /*   * We need to ensure that shared mappings are correctly aligned to   * avoid aliasing issues with VIPT caches.  We need to ensure that @@ -171,31 +144,6 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0,  	return addr;  } -unsigned long arch_mmap_rnd(void) -{ -	unsigned long rnd; - -	rnd = get_random_long() & ((1UL << mmap_rnd_bits) - 1); - -	return rnd << PAGE_SHIFT; -} - -void arch_pick_mmap_layout(struct mm_struct *mm, struct rlimit *rlim_stack) -{ -	unsigned long random_factor = 0UL; - -	if (current->flags & PF_RANDOMIZE) -		random_factor = arch_mmap_rnd(); - -	if (mmap_is_legacy(rlim_stack)) { -		mm->mmap_base = TASK_UNMAPPED_BASE + random_factor; -		mm->get_unmapped_area = arch_get_unmapped_area; -	} else { -		mm->mmap_base = mmap_base(random_factor, rlim_stack); -		mm->get_unmapped_area = arch_get_unmapped_area_topdown; -	} -} -  /*   * You really shouldn't be using read() or write() on /dev/mem.  This   * might go away in the future.  |