]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/blobdiff - mm/mmap.c
new helper: vm_mmap_pgoff()
[mirror_ubuntu-hirsute-kernel.git] / mm / mmap.c
index 538c905d6d9b760976eeefbc5b2eb4b33ef320f0..98ef8a6c2cd80e2b4481db22c8db24d76440f0a2 100644 (file)
--- a/mm/mmap.c
+++ b/mm/mmap.c
@@ -1102,28 +1102,6 @@ unsigned long do_mmap_pgoff(struct file *file, unsigned long addr,
        return mmap_region(file, addr, len, flags, vm_flags, pgoff);
 }
 
-unsigned long vm_mmap(struct file *file, unsigned long addr,
-       unsigned long len, unsigned long prot,
-       unsigned long flag, unsigned long offset)
-{
-       unsigned long ret;
-       struct mm_struct *mm = current->mm;
-
-       if (unlikely(offset + PAGE_ALIGN(len) < offset))
-               return -EINVAL;
-       if (unlikely(offset & ~PAGE_MASK))
-               return -EINVAL;
-
-       ret = security_mmap_file(file, prot, flag);
-       if (!ret) {
-               down_write(&mm->mmap_sem);
-               ret = do_mmap_pgoff(file, addr, len, prot, flag, offset >> PAGE_SHIFT);
-               up_write(&mm->mmap_sem);
-       }
-       return ret;
-}
-EXPORT_SYMBOL(vm_mmap);
-
 SYSCALL_DEFINE6(mmap_pgoff, unsigned long, addr, unsigned long, len,
                unsigned long, prot, unsigned long, flags,
                unsigned long, fd, unsigned long, pgoff)
@@ -1155,13 +1133,7 @@ SYSCALL_DEFINE6(mmap_pgoff, unsigned long, addr, unsigned long, len,
 
        flags &= ~(MAP_EXECUTABLE | MAP_DENYWRITE);
 
-       retval = security_mmap_file(file, prot, flags);
-       if (!retval) {
-               down_write(&current->mm->mmap_sem);
-               retval = do_mmap_pgoff(file, addr, len, prot, flags, pgoff);
-               up_write(&current->mm->mmap_sem);
-       }
-
+       retval = vm_mmap_pgoff(file, addr, len, prot, flags, pgoff);
        if (file)
                fput(file);
 out: