Lines Matching refs:uffdio_copy
1661 struct uffdio_copy uffdio_copy;
1662 struct uffdio_copy __user *user_uffdio_copy;
1665 user_uffdio_copy = (struct uffdio_copy __user *) arg;
1672 if (copy_from_user(&uffdio_copy, user_uffdio_copy,
1674 sizeof(uffdio_copy)-sizeof(__s64)))
1677 ret = validate_range(ctx->mm, uffdio_copy.dst, uffdio_copy.len);
1682 * will later check uffdio_copy.src + uffdio_copy.len to fit
1686 if (uffdio_copy.src + uffdio_copy.len <= uffdio_copy.src)
1688 if (uffdio_copy.mode & ~(UFFDIO_COPY_MODE_DONTWAKE|UFFDIO_COPY_MODE_WP))
1691 ret = mcopy_atomic(ctx->mm, uffdio_copy.dst, uffdio_copy.src,
1692 uffdio_copy.len, &ctx->mmap_changing,
1693 uffdio_copy.mode);
1705 if (!(uffdio_copy.mode & UFFDIO_COPY_MODE_DONTWAKE)) {
1706 range.start = uffdio_copy.dst;
1709 ret = range.len == uffdio_copy.len ? 0 : -EAGAIN;