ioctl_userfaultfd(2) System Calls Manual ioctl_userfaultfd(2) NAME ioctl_userfaultfd - create a file descriptor for handling page faults in user space LIBRARY Standard C library (libc, -lc) SYNOPSIS #include /* Definition of UFFD* constants */ #include int ioctl(int fd, int op, ...); DESCRIPTION Various ioctl(2) operations can be performed on a userfaultfd object (cre- ated by a call to userfaultfd(2)) using calls of the form: ioctl(fd, op, argp); In the above, fd is a file descriptor referring to a userfaultfd object, op is one of the operations listed below, and argp is a pointer to a data structure that is specific to op. The various ioctl(2) operations are described below. The UFFDIO_API, UFF- DIO_REGISTER, and UFFDIO_UNREGISTER operations are used to configure user- faultfd behavior. These operations allow the caller to choose what fea- tures will be enabled and what kinds of events will be delivered to the ap- plication. The remaining operations are range operations. These opera- tions enable the calling application to resolve page-fault events. UFFDIO_API(2const) UFFDIO_REGISTER(2const) UFFDIO_UNREGISTER(2const) UFFDIO_COPY(2const) UFFDIO_MOVE(2const) UFFDIO_ZEROPAGE(2const) UFFDIO_WAKE(2const) UFFDIO_WRITEPROTECT(2const) UFFDIO_CONTINUE(2const) UFFDIO_POISON(2const) RETURN VALUE On success, 0 is returned. On error, -1 is returned, and errno is set to indicate the error. ERRORS The following general errors can occur for all of the operations described above: EFAULT argp does not point to a valid memory address. EINVAL (For all operations except UFFDIO_API.) The userfaultfd object has not yet been enabled (via the UFFDIO_API operation). STANDARDS Linux. EXAMPLES See userfaultfd(2). SEE ALSO ioctl(2), mmap(2), userfaultfd(2) linux.git/Documentation/admin-guide/mm/userfaultfd.rst Linux man-pages 6.18 2026-02-08 ioctl_userfaultfd(2)