]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - mm/nommu.c
mm-page_alloc-hide-some-gfp-internals-and-document-the-bit-and-flag-combinations-fix
[karo-tx-linux.git] / 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)