the kernel supports registering userfaultfd ranges on shared memory areas.
This includes all kernel shared memory APIs:
System V shared memory,
-tmpfs,
-/dev/zero,
-.BR mmap(2)
-with
+.BR tmpfs (5),
+shared mappings of
+.IR /dev/zero ,
+.BR mmap (2)
+with the
.I MAP_SHARED
flag set,
.BR memfd_create (2),
-etc.
+and so on.
The returned
.I ioctls
.IR mode
field.
.TP
-.B ENOENT
-(Since Linux 4.11)
+.BR ENOENT " (since Linux 4.11)"
The faulting process has changed
-its virtual memory layout simultaneously with outstanding
+its virtual memory layout simultaneously with an outstanding
.I UFFDIO_COPY
operation.
.TP
-.B ENOSPC
-(Since Linux 4.11)
-The faulting process has exited at the time of
+.BR ENOSPC " (since Linux 4.11)"
+The faulting process has exited at the time of a
.I UFFDIO_COPY
operation.
.\"
.BR userfaultfd (2).
.SH BUGS
In order to detect available userfault features and
-enable certain subset of those features
-the usefault file descriptor must be closed after the first
+enable some subset of those features
+the userfaultfd file descriptor must be closed after the first
.BR UFFDIO_API
-operation that queries features availability and re-opened before
+operation that queries features availability and reopened before
the second
.BR UFFDIO_API
-call that actually enables the desired features.
+operation that actually enables the desired features.
.SH SEE ALSO
.BR ioctl (2),
.BR mmap (2),