]> git.ipfire.org Git - thirdparty/man-pages.git/blobdiff - man2/userfaultfd.2
fuse.4: ffix
[thirdparty/man-pages.git] / man2 / userfaultfd.2
index 3c5b9c0ab66a0f2d49d7e2d6f5239b4128707fc6..e1a8343b3b36272fdd94334dad935f528ea3e5b1 100644 (file)
@@ -168,32 +168,35 @@ the user-space application.
 The application can then use the
 .B UFFDIO_COPY
 or
-.B UFFDIO_ZERO
+.B UFFDIO_ZEROPAGE
 .BR ioctl (2)
 operations to resolve the page fault.
 .PP
-Starting from Linux 4.14, if application sets
+Starting from Linux 4.14, if the application sets the
 .B UFFD_FEATURE_SIGBUS
-feature bit using
+feature bit using the
 .B UFFDIO_API
 .BR ioctl (2),
-no page fault notification will be forwarded to
-the user-space, instead a
+no page-fault notification will be forwarded to user space.
+Instead a
 .B SIGBUS
-signal is delivered to the faulting process. With this feature,
-userfaultfd can be used for robustness purpose to simply catch
+signal is delivered to the faulting process.
+With this feature,
+userfaultfd can be used for robustness purposes to simply catch
 any access to areas within the registered address range that do not
 have pages allocated, without having to listen to userfaultfd events.
 No userfaultfd monitor will be required for dealing with such memory
-accesses. For example, this feature can be useful for applications that
+accesses.
+For example, this feature can be useful for applications that
 want to prevent the kernel from automatically allocating pages and filling
-holes in sparse files when the hole is accessed thru mapped address.
+holes in sparse files when the hole is accessed through a memory mapping.
 .PP
 The
 .B UFFD_FEATURE_SIGBUS
-feature is implicitly inherited through fork() if used in combination with
+feature is implicitly inherited through
+.BR fork (2)
+if used in combination with
 .BR UFFD_FEATURE_FORK .
-
 .PP
 Details of the various
 .BR ioctl (2)
@@ -462,6 +465,16 @@ for checkpoint/restore mechanisms,
 as well as post-copy migration to allow (nearly) uninterrupted execution
 when transferring virtual machines and Linux containers
 from one host to another.
+.SH BUGS
+If the
+.B UFFD_FEATURE_EVENT_FORK
+is enabled and a system call from the
+.BR fork (2)
+family is interrupted by a signal or failed, a stale userfaultfd descriptor
+might be created.
+In this case, a spurious
+.B UFFD_EVENT_FORK
+will be delivered to the userfaultfd monitor.
 .SH EXAMPLE
 The program below demonstrates the use of the userfaultfd mechanism.
 The program creates two threads, one of which acts as the
@@ -743,6 +756,6 @@ main(int argc, char *argv[])
 .BR madvise (2),
 .BR mmap (2)
 .PP
-.IR Documentation/vm/userfaultfd.txt
+.IR Documentation/admin-guide/mm/userfaultfd.rst
 in the Linux kernel source tree
 .PP