Skip to content

Commit

Permalink
arm: add arch_mmap_check(), get rid of sys_arm_mremap()
Browse files Browse the repository at this point in the history
Acked-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
  • Loading branch information
Al Viro committed Dec 11, 2009
1 parent c4caa77 commit 2ea1d13
Show file tree
Hide file tree
Showing 3 changed files with 4 additions and 26 deletions.
3 changes: 3 additions & 0 deletions arch/arm/include/asm/mman.h
Original file line number Diff line number Diff line change
@@ -1 +1,4 @@
#include <asm-generic/mman.h>

#define arch_mmap_check(addr, len, flags) \
(((flags) & MAP_FIXED && (addr) < FIRST_USER_ADDRESS) ? -EINVAL : 0)
2 changes: 1 addition & 1 deletion arch/arm/kernel/calls.S
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,7 @@
/* 160 */ CALL(sys_sched_get_priority_min)
CALL(sys_sched_rr_get_interval)
CALL(sys_nanosleep)
CALL(sys_arm_mremap)
CALL(sys_mremap)
CALL(sys_setresuid16)
/* 165 */ CALL(sys_getresuid16)
CALL(sys_ni_syscall) /* vm86 */
Expand Down
25 changes: 0 additions & 25 deletions arch/arm/kernel/sys_arm.c
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,6 @@
#include <linux/ipc.h>
#include <linux/uaccess.h>

extern unsigned long do_mremap(unsigned long addr, unsigned long old_len,
unsigned long new_len, unsigned long flags,
unsigned long new_addr);

/* common code for old and new mmaps */
inline long do_mmap2(
unsigned long addr, unsigned long len,
Expand All @@ -43,9 +39,6 @@ inline long do_mmap2(

flags &= ~(MAP_EXECUTABLE | MAP_DENYWRITE);

if (flags & MAP_FIXED && addr < FIRST_USER_ADDRESS)
goto out;

error = -EBADF;
if (!(flags & MAP_ANONYMOUS)) {
file = fget(fd);
Expand Down Expand Up @@ -89,24 +82,6 @@ asmlinkage int old_mmap(struct mmap_arg_struct __user *arg)
return error;
}

asmlinkage unsigned long
sys_arm_mremap(unsigned long addr, unsigned long old_len,
unsigned long new_len, unsigned long flags,
unsigned long new_addr)
{
unsigned long ret = -EINVAL;

if (flags & MREMAP_FIXED && new_addr < FIRST_USER_ADDRESS)
goto out;

down_write(&current->mm->mmap_sem);
ret = do_mremap(addr, old_len, new_len, flags, new_addr);
up_write(&current->mm->mmap_sem);

out:
return ret;
}

/*
* Perform the select(nd, in, out, ex, tv) and mmap() system
* calls.
Expand Down

0 comments on commit 2ea1d13

Please sign in to comment.