mm/nommu: use offset_in_page macro
authorAlexander Kuleshov <kuleshovmail@gmail.com>
Fri, 6 Nov 2015 02:46:35 +0000 (18:46 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 6 Nov 2015 03:34:48 +0000 (19:34 -0800)
linux/mm.h provides offset_in_page() macro.  Let's use already predefined
macro instead of (addr & ~PAGE_MASK).

Signed-off-by: Alexander Kuleshov <kuleshovmail@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mm/nommu.c

index ab14a2014dea76b62e77b0176d810037e1c76788..1e0f1688d9a467e7922045294146c0f4f6d78cb8 100644 (file)
@@ -1497,7 +1497,7 @@ SYSCALL_DEFINE1(old_mmap, struct mmap_arg_struct __user *, arg)
 
        if (copy_from_user(&a, arg, sizeof(a)))
                return -EFAULT;
-       if (a.offset & ~PAGE_MASK)
+       if (offset_in_page(a.offset))
                return -EINVAL;
 
        return sys_mmap_pgoff(a.addr, a.len, a.prot, a.flags, a.fd,
@@ -1653,9 +1653,9 @@ int do_munmap(struct mm_struct *mm, unsigned long start, size_t len)
                        goto erase_whole_vma;
                if (start < vma->vm_start || end > vma->vm_end)
                        return -EINVAL;
-               if (start & ~PAGE_MASK)
+               if (offset_in_page(start))
                        return -EINVAL;
-               if (end != vma->vm_end && end & ~PAGE_MASK)
+               if (end != vma->vm_end && offset_in_page(end))
                        return -EINVAL;
                if (start != vma->vm_start && end != vma->vm_end) {
                        ret = split_vma(mm, vma, start, 1);
@@ -1736,7 +1736,7 @@ static unsigned long do_mremap(unsigned long addr,
        if (old_len == 0 || new_len == 0)
                return (unsigned long) -EINVAL;
 
-       if (addr & ~PAGE_MASK)
+       if (offset_in_page(addr))
                return -EINVAL;
 
        if (flags & MREMAP_FIXED && new_addr != addr)