Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

Al Viro 2ea1d13f c4caa778

+4 -26
+3
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)
+1 -1
arch/arm/kernel/calls.S
··· 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 */
-25
arch/arm/kernel/sys_arm.c
··· 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, ··· 38 42 struct file * file = NULL; 39 43 40 44 flags &= ~(MAP_EXECUTABLE | MAP_DENYWRITE); 41 - 42 - if (flags & MAP_FIXED && addr < FIRST_USER_ADDRESS) 43 - goto out; 44 45 45 46 error = -EBADF; 46 47 if (!(flags & MAP_ANONYMOUS)) { ··· 80 87 error = do_mmap2(a.addr, a.len, a.prot, a.flags, a.fd, a.offset >> PAGE_SHIFT); 81 88 out: 82 89 return error; 83 - } 84 - 85 - asmlinkage unsigned long 86 - sys_arm_mremap(unsigned long addr, unsigned long old_len, 87 - unsigned long new_len, unsigned long flags, 88 - unsigned long new_addr) 89 - { 90 - unsigned long ret = -EINVAL; 91 - 92 - if (flags & MREMAP_FIXED && new_addr < FIRST_USER_ADDRESS) 93 - goto out; 94 - 95 - down_write(&current->mm->mmap_sem); 96 - ret = do_mremap(addr, old_len, new_len, flags, new_addr); 97 - up_write(&current->mm->mmap_sem); 98 - 99 - out: 100 - return ret; 101 90 } 102 91 103 92 /*