Home
last modified time | relevance | path

Searched refs:uffdio_move (Results 1 – 2 of 2) sorted by relevance

/linux/tools/testing/selftests/mm/
H A Duffd-common.c673 struct uffdio_move uffdio_move; in move_page() local
677 uffdio_move.dst = (unsigned long) gopts->area_dst + offset; in move_page()
678 uffdio_move.src = (unsigned long) gopts->area_src + offset; in move_page()
679 uffdio_move.len = len; in move_page()
680 uffdio_move.mode = UFFDIO_MOVE_MODE_ALLOW_SRC_HOLES; in move_page()
681 uffdio_move.move = 0; in move_page()
682 if (ioctl(gopts->uffd, UFFDIO_MOVE, &uffdio_move)) { in move_page()
684 if (uffdio_move.move != -EEXIST) in move_page()
686 (int64_t)uffdio_move.move); in move_page()
687 wake_range(gopts->uffd, uffdio_move.dst, len); in move_page()
[all …]
/linux/mm/
H A Duserfaultfd.c4561 struct uffdio_move uffdio_move; in userfaultfd_move() local
4562 struct uffdio_move __user *user_uffdio_move; in userfaultfd_move()
4566 user_uffdio_move = (struct uffdio_move __user *) arg; in userfaultfd_move()
4575 if (copy_from_user(&uffdio_move, user_uffdio_move, in userfaultfd_move()
4577 sizeof(uffdio_move)-sizeof(__s64))) in userfaultfd_move()
4584 ret = validate_range(mm, uffdio_move.dst, uffdio_move.len); in userfaultfd_move()
4588 ret = validate_range(mm, uffdio_move.src, uffdio_move.len); in userfaultfd_move()
4592 if (uffdio_move.mode & ~(UFFDIO_MOVE_MODE_ALLOW_SRC_HOLES| in userfaultfd_move()
4597 ret = move_pages(ctx, uffdio_move.dst, uffdio_move.src, in userfaultfd_move()
4598 uffdio_move.len, uffdio_move.mode); in userfaultfd_move()
[all …]