merge do_mremap() into sys_mremap()
authorAl Viro <viro@zeniv.linux.org.uk>
Wed, 30 May 2012 15:32:04 +0000 (11:32 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Thu, 31 May 2012 01:04:57 +0000 (21:04 -0400)
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
mm/mremap.c

index db8d983b5a7d7a2d6746ccbf74471d2ced3cdd96..169c53b87749eafc29f6fa370ea1bcade85e658a 100644 (file)
@@ -432,15 +432,17 @@ static int vma_expandable(struct vm_area_struct *vma, unsigned long delta)
  * MREMAP_FIXED option added 5-Dec-1999 by Benjamin LaHaise
  * This option implies MREMAP_MAYMOVE.
  */
-unsigned long do_mremap(unsigned long addr,
-       unsigned long old_len, unsigned long new_len,
-       unsigned long flags, unsigned long new_addr)
+SYSCALL_DEFINE5(mremap, unsigned long, addr, unsigned long, old_len,
+               unsigned long, new_len, unsigned long, flags,
+               unsigned long, new_addr)
 {
        struct mm_struct *mm = current->mm;
        struct vm_area_struct *vma;
        unsigned long ret = -EINVAL;
        unsigned long charged = 0;
 
+       down_write(&current->mm->mmap_sem);
+
        if (flags & ~(MREMAP_FIXED | MREMAP_MAYMOVE))
                goto out;
 
@@ -538,17 +540,6 @@ unsigned long do_mremap(unsigned long addr,
 out:
        if (ret & ~PAGE_MASK)
                vm_unacct_memory(charged);
-       return ret;
-}
-
-SYSCALL_DEFINE5(mremap, unsigned long, addr, unsigned long, old_len,
-               unsigned long, new_len, unsigned long, flags,
-               unsigned long, new_addr)
-{
-       unsigned long ret;
-
-       down_write(&current->mm->mmap_sem);
-       ret = do_mremap(addr, old_len, new_len, flags, new_addr);
        up_write(&current->mm->mmap_sem);
        return ret;
 }