X-Git-Url: https://git.karo-electronics.de/?a=blobdiff_plain;f=mm%2Fnommu.c;h=1e0f1688d9a467e7922045294146c0f4f6d78cb8;hb=16edbac0adfd1ab9099b4765d355bd0dab663273;hp=ab14a2014dea76b62e77b0176d810037e1c76788;hpb=9ebd051a7d5aa7b0ce813c3c2e5b9c851e7774b9;p=karo-tx-linux.git diff --git a/mm/nommu.c b/mm/nommu.c index ab14a2014dea..1e0f1688d9a4 100644 --- a/mm/nommu.c +++ b/mm/nommu.c @@ -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)