aboutsummaryrefslogtreecommitdiffstats
path: root/sys/linux/uffd.txt
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2021-10-21 14:18:08 +0200
committerDmitry Vyukov <dvyukov@google.com>2021-10-21 15:05:59 +0200
commitc5cb7da830c941bb15b077cb5e4591b2e2e54554 (patch)
tree5e606169f3b8a209f078f82d217368c95f959aa7 /sys/linux/uffd.txt
parent7841d8b1babc796e48daf138d80288c2ba1c6ea2 (diff)
sys/linux: extend userfaultfd descriptions
2 new ioctl's were added + some new flags: https://elixir.bootlin.com/linux/v5.15-rc6/source/include/uapi/linux/userfaultfd.h#L82
Diffstat (limited to 'sys/linux/uffd.txt')
-rw-r--r--sys/linux/uffd.txt25
1 files changed, 21 insertions, 4 deletions
diff --git a/sys/linux/uffd.txt b/sys/linux/uffd.txt
index 807baaef3..811cf2e78 100644
--- a/sys/linux/uffd.txt
+++ b/sys/linux/uffd.txt
@@ -15,12 +15,14 @@ ioctl$UFFDIO_UNREGISTER(fd fd_uffd, cmd const[UFFDIO_UNREGISTER], arg ptr[in, uf
ioctl$UFFDIO_WAKE(fd fd_uffd, cmd const[UFFDIO_WAKE], arg ptr[in, uffdio_range])
ioctl$UFFDIO_COPY(fd fd_uffd, cmd const[UFFDIO_COPY], arg ptr[in, uffdio_copy])
ioctl$UFFDIO_ZEROPAGE(fd fd_uffd, cmd const[UFFDIO_ZEROPAGE], arg ptr[in, uffdio_zeropage])
+ioctl$UFFDIO_WRITEPROTECT(fd fd_uffd, cmd const[UFFDIO_WRITEPROTECT], arg ptr[in, uffdio_writeprotect])
+ioctl$UFFDIO_CONTINUE(fd fd_uffd, cmd const[UFFDIO_CONTINUE], arg ptr[in, uffdio_continue])
-userfaultfd_flags = O_NONBLOCK, O_CLOEXEC
-uffdio_register_mode = UFFDIO_REGISTER_MODE_MISSING, UFFDIO_REGISTER_MODE_WP
-uffdio_copy_mode = UFFDIO_COPY_MODE_DONTWAKE
+userfaultfd_flags = O_NONBLOCK, O_CLOEXEC, UFFD_USER_MODE_ONLY
+uffdio_register_mode = UFFDIO_REGISTER_MODE_MISSING, UFFDIO_REGISTER_MODE_WP, UFFDIO_REGISTER_MODE_MINOR
+uffdio_copy_mode = UFFDIO_COPY_MODE_DONTWAKE, UFFDIO_COPY_MODE_WP
uffdio_zero_mode = UFFDIO_ZEROPAGE_MODE_DONTWAKE
-uffdio_features = UFFD_FEATURE_PAGEFAULT_FLAG_WP, UFFD_FEATURE_EVENT_FORK, UFFD_FEATURE_EVENT_REMAP, UFFD_FEATURE_EVENT_REMOVE, UFFD_FEATURE_MISSING_HUGETLBFS, UFFD_FEATURE_MISSING_SHMEM, UFFD_FEATURE_EVENT_UNMAP
+uffdio_features = UFFD_FEATURE_PAGEFAULT_FLAG_WP, UFFD_FEATURE_EVENT_FORK, UFFD_FEATURE_EVENT_REMAP, UFFD_FEATURE_EVENT_REMOVE, UFFD_FEATURE_MISSING_HUGETLBFS, UFFD_FEATURE_MISSING_SHMEM, UFFD_FEATURE_EVENT_UNMAP, UFFD_FEATURE_SIGBUS, UFFD_FEATURE_THREAD_ID, UFFD_FEATURE_MINOR_HUGETLBFS, UFFD_FEATURE_MINOR_SHMEM
uffdio_api {
api const[UFFD_API, int64]
@@ -52,3 +54,18 @@ uffdio_zeropage {
mode flags[uffdio_zero_mode, int64]
zeropg const[0, int64]
}
+
+uffdio_writeprotect {
+ range uffdio_range
+ mode flags[uffdio_writeprotect_mode, int64]
+}
+
+uffdio_writeprotect_mode = UFFDIO_WRITEPROTECT_MODE_WP, UFFDIO_WRITEPROTECT_MODE_DONTWAKE
+
+uffdio_continue {
+ range uffdio_range
+ mode flags[uffdio_continue_mode, int64]
+ mapped int64 (out)
+}
+
+uffdio_continue_mode = UFFDIO_CONTINUE_MODE_DONTWAKE