| UFFDIO_COPY(2const) | UFFDIO_COPY(2const) |
UFFDIO_COPY - atomically copy a continuous memory chunk into the userfault registered range
Standard C library (libc, -lc)
#include <linux/userfaultfd.h> /* Definition of UFFD* constants */ #include <sys/ioctl.h>
int ioctl(int fd, UFFDIO_COPY, struct uffdio_copy *argp);
#include <linux/userfaultfd.h>
struct uffdio_copy {
__u64 dst; /* Destination of copy */
__u64 src; /* Source of copy */
__u64 len; /* Number of bytes to copy */
__u64 mode; /* Flags controlling behavior of copy */
__s64 copy; /* Number of bytes copied, or negated error */
};
Atomically copy a continuous memory chunk into the userfault registered range and optionally wake up the blocked thread.
The following value may be bitwise ORed in mode to change the behavior of the UFFDIO_COPY operation:
The copy field is used by the kernel to return the number of bytes that was actually copied, or an error (a negated errno-style value). The copy field is output-only; it is not read by the UFFDIO_COPY operation.
On success, 0 is returned. In this case, the entire area was copied.
On error, -1 is returned and errno is set to indicate the error.
Linux.
Linux 4.3.
See userfaultfd(2).
ioctl(2), ioctl_userfaultfd(2), userfaultfd(2)
linux.git/Documentation/admin-guide/mm/userfaultfd.rst
| 2024-06-17 | Linux man-pages 6.9.1 |