Lines Matching refs:uffdio_copy
1705 struct uffdio_copy uffdio_copy; in userfaultfd_copy() local
1706 struct uffdio_copy __user *user_uffdio_copy; in userfaultfd_copy()
1709 user_uffdio_copy = (struct uffdio_copy __user *) arg; in userfaultfd_copy()
1716 if (copy_from_user(&uffdio_copy, user_uffdio_copy, in userfaultfd_copy()
1718 sizeof(uffdio_copy)-sizeof(__s64))) in userfaultfd_copy()
1721 ret = validate_range(ctx->mm, &uffdio_copy.dst, uffdio_copy.len); in userfaultfd_copy()
1730 if (uffdio_copy.src + uffdio_copy.len <= uffdio_copy.src) in userfaultfd_copy()
1732 if (uffdio_copy.mode & ~UFFDIO_COPY_MODE_DONTWAKE) in userfaultfd_copy()
1735 ret = mcopy_atomic(ctx->mm, uffdio_copy.dst, uffdio_copy.src, in userfaultfd_copy()
1736 uffdio_copy.len, &ctx->mmap_changing); in userfaultfd_copy()
1748 if (!(uffdio_copy.mode & UFFDIO_COPY_MODE_DONTWAKE)) { in userfaultfd_copy()
1749 range.start = uffdio_copy.dst; in userfaultfd_copy()
1752 ret = range.len == uffdio_copy.len ? 0 : -EAGAIN; in userfaultfd_copy()