summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEugene Syromyatnikov <evgsyr@gmail.com>2020-04-14 04:47:53 +0200
committerDmitry V. Levin <ldv@altlinux.org>2020-04-15 13:39:57 +0000
commitfe744fac0d0ee1b9a00df4c9b8945c0d7b94fff5 (patch)
tree051dba7120536561971bd655c40e384ef9160744
parent894dbe8fd5f24de183ebd2ecd48e33a1f1f9a786 (diff)
downloadstrace-fe744fac0d0ee1b9a00df4c9b8945c0d7b94fff5.tar.gz
xlat: add UFFDIO_COPY_MODE_WP to uffd_copy_flags
* xlat/uffd_copy_flags.in (UFFDIO_COPY_MODE_WP): New constant, introduced by Linux commit v5.7-rc1~58^2~121. (UFFDIO_COPY_MODE_DONTWAKE): Add fall-back value. * tests/ioctl_uffdio.c: Add a check for the new flag.
-rw-r--r--tests/ioctl_uffdio.c7
-rw-r--r--xlat/uffd_copy_flags.in3
2 files changed, 9 insertions, 1 deletions
diff --git a/tests/ioctl_uffdio.c b/tests/ioctl_uffdio.c
index 1b8f80806..99cd68bb2 100644
--- a/tests/ioctl_uffdio.c
+++ b/tests/ioctl_uffdio.c
@@ -135,6 +135,13 @@ main(void)
" mode=UFFDIO_COPY_MODE_DONTWAKE, copy=%#zx}) = %d\n",
fd, area2, area1, pagesize, pagesize, rc);
+ copy_struct->mode = 0xdeadbeef;;
+ rc = ioctl(fd, UFFDIO_COPY, copy_struct);
+ printf("ioctl(%d, UFFDIO_COPY, {dst=%p, src=%p, len=%#zx,"
+ " mode=UFFDIO_COPY_MODE_DONTWAKE|UFFDIO_COPY_MODE_WP|0xdeadbeec"
+ "}) = %s\n",
+ fd, area2, area1, pagesize, sprintrc(rc));
+
/* ---- ZEROPAGE ---- */
TAIL_ALLOC_OBJECT_CONST_PTR(struct uffdio_zeropage, zero_struct);
madvise(area2, pagesize, MADV_DONTNEED);
diff --git a/xlat/uffd_copy_flags.in b/xlat/uffd_copy_flags.in
index 02d6b19c6..a9e3e9416 100644
--- a/xlat/uffd_copy_flags.in
+++ b/xlat/uffd_copy_flags.in
@@ -1,2 +1,3 @@
#val_type uint64_t
-UFFDIO_COPY_MODE_DONTWAKE
+UFFDIO_COPY_MODE_DONTWAKE (1ULL<<0)
+UFFDIO_COPY_MODE_WP (1ULL<<1)