Commit 2ea1d13f64efdf49319e86c87d9ba38c30902782

Authored by Al Viro
1 parent c4caa77815

arm: add arch_mmap_check(), get rid of sys_arm_mremap()

Acked-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

Showing 3 changed files with 4 additions and 26 deletions Side-by-side Diff

arch/arm/include/asm/mman.h
1 1 #include <asm-generic/mman.h>
  2 +
  3 +#define arch_mmap_check(addr, len, flags) \
  4 + (((flags) & MAP_FIXED && (addr) < FIRST_USER_ADDRESS) ? -EINVAL : 0)
arch/arm/kernel/calls.S
... ... @@ -172,7 +172,7 @@
172 172 /* 160 */ CALL(sys_sched_get_priority_min)
173 173 CALL(sys_sched_rr_get_interval)
174 174 CALL(sys_nanosleep)
175   - CALL(sys_arm_mremap)
  175 + CALL(sys_mremap)
176 176 CALL(sys_setresuid16)
177 177 /* 165 */ CALL(sys_getresuid16)
178 178 CALL(sys_ni_syscall) /* vm86 */
arch/arm/kernel/sys_arm.c
... ... @@ -28,10 +28,6 @@
28 28 #include <linux/ipc.h>
29 29 #include <linux/uaccess.h>
30 30  
31   -extern unsigned long do_mremap(unsigned long addr, unsigned long old_len,
32   - unsigned long new_len, unsigned long flags,
33   - unsigned long new_addr);
34   -
35 31 /* common code for old and new mmaps */
36 32 inline long do_mmap2(
37 33 unsigned long addr, unsigned long len,
... ... @@ -43,9 +39,6 @@
43 39  
44 40 flags &= ~(MAP_EXECUTABLE | MAP_DENYWRITE);
45 41  
46   - if (flags & MAP_FIXED && addr < FIRST_USER_ADDRESS)
47   - goto out;
48   -
49 42 error = -EBADF;
50 43 if (!(flags & MAP_ANONYMOUS)) {
51 44 file = fget(fd);
... ... @@ -87,24 +80,6 @@
87 80 error = do_mmap2(a.addr, a.len, a.prot, a.flags, a.fd, a.offset >> PAGE_SHIFT);
88 81 out:
89 82 return error;
90   -}
91   -
92   -asmlinkage unsigned long
93   -sys_arm_mremap(unsigned long addr, unsigned long old_len,
94   - unsigned long new_len, unsigned long flags,
95   - unsigned long new_addr)
96   -{
97   - unsigned long ret = -EINVAL;
98   -
99   - if (flags & MREMAP_FIXED && new_addr < FIRST_USER_ADDRESS)
100   - goto out;
101   -
102   - down_write(&current->mm->mmap_sem);
103   - ret = do_mremap(addr, old_len, new_len, flags, new_addr);
104   - up_write(&current->mm->mmap_sem);
105   -
106   -out:
107   - return ret;
108 83 }
109 84  
110 85 /*