uffdio_copy 1705 fs/userfaultfd.c struct uffdio_copy uffdio_copy; uffdio_copy 1706 fs/userfaultfd.c struct uffdio_copy __user *user_uffdio_copy; uffdio_copy 1709 fs/userfaultfd.c user_uffdio_copy = (struct uffdio_copy __user *) arg; uffdio_copy 1716 fs/userfaultfd.c if (copy_from_user(&uffdio_copy, user_uffdio_copy, uffdio_copy 1718 fs/userfaultfd.c sizeof(uffdio_copy)-sizeof(__s64))) uffdio_copy 1721 fs/userfaultfd.c ret = validate_range(ctx->mm, &uffdio_copy.dst, uffdio_copy.len); uffdio_copy 1730 fs/userfaultfd.c if (uffdio_copy.src + uffdio_copy.len <= uffdio_copy.src) uffdio_copy 1732 fs/userfaultfd.c if (uffdio_copy.mode & ~UFFDIO_COPY_MODE_DONTWAKE) uffdio_copy 1735 fs/userfaultfd.c ret = mcopy_atomic(ctx->mm, uffdio_copy.dst, uffdio_copy.src, uffdio_copy 1736 fs/userfaultfd.c uffdio_copy.len, &ctx->mmap_changing); uffdio_copy 1748 fs/userfaultfd.c if (!(uffdio_copy.mode & UFFDIO_COPY_MODE_DONTWAKE)) { uffdio_copy 1749 fs/userfaultfd.c range.start = uffdio_copy.dst; uffdio_copy 1752 fs/userfaultfd.c ret = range.len == uffdio_copy.len ? 0 : -EAGAIN; uffdio_copy 68 include/uapi/linux/userfaultfd.h struct uffdio_copy) uffdio_copy 395 tools/testing/selftests/vm/userfaultfd.c static void retry_copy_page(int ufd, struct uffdio_copy *uffdio_copy, uffdio_copy 398 tools/testing/selftests/vm/userfaultfd.c uffd_test_ops->alias_mapping(&uffdio_copy->dst, uffdio_copy 399 tools/testing/selftests/vm/userfaultfd.c uffdio_copy->len, uffdio_copy 401 tools/testing/selftests/vm/userfaultfd.c if (ioctl(ufd, UFFDIO_COPY, uffdio_copy)) { uffdio_copy 403 tools/testing/selftests/vm/userfaultfd.c if (uffdio_copy->copy != -EEXIST) uffdio_copy 405 tools/testing/selftests/vm/userfaultfd.c uffdio_copy->copy), exit(1); uffdio_copy 408 tools/testing/selftests/vm/userfaultfd.c uffdio_copy->copy), exit(1); uffdio_copy 414 tools/testing/selftests/vm/userfaultfd.c struct uffdio_copy uffdio_copy; uffdio_copy 419 tools/testing/selftests/vm/userfaultfd.c uffdio_copy.dst = (unsigned long) area_dst + offset; uffdio_copy 420 tools/testing/selftests/vm/userfaultfd.c uffdio_copy.src = (unsigned long) area_src + offset; uffdio_copy 421 tools/testing/selftests/vm/userfaultfd.c uffdio_copy.len = page_size; uffdio_copy 422 tools/testing/selftests/vm/userfaultfd.c uffdio_copy.mode = 0; uffdio_copy 423 tools/testing/selftests/vm/userfaultfd.c uffdio_copy.copy = 0; uffdio_copy 424 tools/testing/selftests/vm/userfaultfd.c if (ioctl(ufd, UFFDIO_COPY, &uffdio_copy)) { uffdio_copy 426 tools/testing/selftests/vm/userfaultfd.c if (uffdio_copy.copy != -EEXIST) uffdio_copy 428 tools/testing/selftests/vm/userfaultfd.c uffdio_copy.copy), exit(1); uffdio_copy 429 tools/testing/selftests/vm/userfaultfd.c } else if (uffdio_copy.copy != page_size) { uffdio_copy 431 tools/testing/selftests/vm/userfaultfd.c uffdio_copy.copy), exit(1); uffdio_copy 435 tools/testing/selftests/vm/userfaultfd.c retry_copy_page(ufd, &uffdio_copy, offset);