aboutsummaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2016-12-16 15:42:11 +0100
committerDmitry Vyukov <dvyukov@google.com>2016-12-16 15:42:11 +0100
commit81efdbb29c4fcb42f73190bdf8f13db53139855d (patch)
tree2e09c80956a895c8c53f6f36a04e67556f67802c /sys
parent739d40c1b8f4107ca893e6817881ac37b50df4e8 (diff)
sys: describe new pkey_* syscalls
Diffstat (limited to 'sys')
-rw-r--r--sys/sys.txt10
-rw-r--r--sys/sys_amd64.const8
-rw-r--r--sys/sys_arm64.const8
-rw-r--r--sys/sys_ppc64le.const5
-rw-r--r--sys/vnet_amd64.const1
-rw-r--r--sys/vnet_arm64.const1
-rw-r--r--sys/vnet_ppc64le.const1
7 files changed, 32 insertions, 2 deletions
diff --git a/sys/sys.txt b/sys/sys.txt
index 6e0edada6..84ea02d56 100644
--- a/sys/sys.txt
+++ b/sys/sys.txt
@@ -163,6 +163,12 @@ memfd_create(name ptr[in, string], flags flags[memfd_flags]) fd
unshare(flags flags[clone_flags])
kcmp(pid1 pid, pid2 pid, type flags[kcmp_flags], fd1 fd, fd2 fd)
+resource pkey[int32]: 0xffffffffffffffff
+pkey_alloc(flags const[0], val flags[pkey_flags]) pkey
+pkey_free(key pkey)
+pkey_mprotect(addr vma, len len[addr], prot flags[mmap_prot], key pkey)
+pkey_flags = PKEY_DISABLE_ACCESS, PKEY_DISABLE_WRITE
+
futex(addr ptr[in, int32], op flags[futex_op], val intptr, timeout ptr[in, timespec], addr2 ptr[in, int32], val3 intptr)
set_robust_list(head ptr[in, robust_list], len len[head])
get_robust_list(pid pid, head ptr[in, ptr[out, robust_list]], len ptr[inout, len[head, intptr]])
@@ -1100,13 +1106,13 @@ uffdio_zeropage {
-open_flags = O_RDONLY, O_WRONLY, O_RDWR, O_APPEND, FASYNC, O_CLOEXEC, O_CREAT, O_DIRECT, O_DIRECTORY, O_EXCL, O_LARGEFILE, O_NOATIME, O_NOCTTY, O_NOFOLLOW, O_NONBLOCK, O_PATH, O_SYNC, O_TRUNC
+open_flags = O_RDONLY, O_WRONLY, O_RDWR, O_APPEND, FASYNC, O_CLOEXEC, O_CREAT, O_DIRECT, O_DIRECTORY, O_EXCL, O_LARGEFILE, O_NOATIME, O_NOCTTY, O_NOFOLLOW, O_NONBLOCK, O_PATH, O_SYNC, O_TRUNC, __O_TMPFILE
open_mode = S_IRUSR, S_IWUSR, S_IXUSR, S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH
madvise_flags = MADV_NORMAL, MADV_RANDOM, MADV_SEQUENTIAL, MADV_WILLNEED, MADV_DONTNEED, MADV_REMOVE, MADV_DONTFORK, MADV_DOFORK, MADV_HWPOISON, MADV_SOFT_OFFLINE, MADV_MERGEABLE, MADV_UNMERGEABLE, MADV_HUGEPAGE, MADV_NOHUGEPAGE, MADV_DONTDUMP, MADV_DODUMP
fadvise_flags = POSIX_FADV_NORMAL, POSIX_FADV_SEQUENTIAL, POSIX_FADV_RANDOM, POSIX_FADV_NOREUSE, POSIX_FADV_WILLNEED, POSIX_FADV_DONTNEED
move_pages_flags = MPOL_MF_MOVE, MPOL_MF_MOVE_ALL
msync_flags = MS_ASYNC, MS_SYNC, MS_INVALIDATE
-mmap_prot = PROT_EXEC, PROT_READ, PROT_WRITE
+mmap_prot = PROT_EXEC, PROT_READ, PROT_WRITE, PROT_SEM, PROT_GROWSDOWN, PROT_GROWSUP
mmap_flags = MAP_SHARED, MAP_PRIVATE, MAP_32BIT, MAP_ANONYMOUS, MAP_DENYWRITE, MAP_EXECUTABLE, MAP_FILE, MAP_FIXED, MAP_GROWSDOWN, MAP_HUGETLB, MAP_LOCKED, MAP_NONBLOCK, MAP_NORESERVE, MAP_POPULATE, MAP_STACK, MAP_UNINITIALIZED
mremap_flags = MREMAP_MAYMOVE, MREMAP_FIXED
mbind_mode = MPOL_DEFAULT, MPOL_BIND, MPOL_INTERLEAVE, MPOL_PREFERRED, MPOL_F_STATIC_NODES, MPOL_F_RELATIVE_NODES
diff --git a/sys/sys_amd64.const b/sys/sys_amd64.const
index 51ab7ff17..65ff99e0e 100644
--- a/sys/sys_amd64.const
+++ b/sys/sys_amd64.const
@@ -336,6 +336,8 @@ PER_SVR4 = 68157441
PER_UW7 = 68157454
PER_WYSEV386 = 83886084
PER_XENIX = 83886087
+PKEY_DISABLE_ACCESS = 1
+PKEY_DISABLE_WRITE = 2
POLLERR = 8
POLLHUP = 16
POLLIN = 1
@@ -352,7 +354,10 @@ PRIO_PGRP = 1
PRIO_PROCESS = 0
PRIO_USER = 2
PROT_EXEC = 4
+PROT_GROWSDOWN = 16777216
+PROT_GROWSUP = 33554432
PROT_READ = 1
+PROT_SEM = 8
PROT_WRITE = 2
PR_CAPBSET_DROP = 24
PR_CAPBSET_READ = 23
@@ -722,6 +727,9 @@ __NR_personality = 135
__NR_pipe = 22
__NR_pipe2 = 293
__NR_pivot_root = 155
+__NR_pkey_alloc = 330
+__NR_pkey_free = 331
+__NR_pkey_mprotect = 329
__NR_poll = 7
__NR_ppoll = 271
__NR_prctl = 157
diff --git a/sys/sys_arm64.const b/sys/sys_arm64.const
index bc5462dde..eecd11200 100644
--- a/sys/sys_arm64.const
+++ b/sys/sys_arm64.const
@@ -335,6 +335,8 @@ PER_SVR4 = 68157441
PER_UW7 = 68157454
PER_WYSEV386 = 83886084
PER_XENIX = 83886087
+PKEY_DISABLE_ACCESS = 1
+PKEY_DISABLE_WRITE = 2
POLLERR = 8
POLLHUP = 16
POLLIN = 1
@@ -351,7 +353,10 @@ PRIO_PGRP = 1
PRIO_PROCESS = 0
PRIO_USER = 2
PROT_EXEC = 4
+PROT_GROWSDOWN = 16777216
+PROT_GROWSUP = 33554432
PROT_READ = 1
+PROT_SEM = 8
PROT_WRITE = 2
PR_CAPBSET_DROP = 24
PR_CAPBSET_READ = 23
@@ -689,6 +694,9 @@ __NR_openat = 56
__NR_personality = 92
__NR_pipe2 = 59
__NR_pivot_root = 41
+__NR_pkey_alloc = 289
+__NR_pkey_free = 290
+__NR_pkey_mprotect = 288
__NR_ppoll = 73
__NR_prctl = 167
__NR_pread64 = 67
diff --git a/sys/sys_ppc64le.const b/sys/sys_ppc64le.const
index e1f1ce49e..ff6eef34a 100644
--- a/sys/sys_ppc64le.const
+++ b/sys/sys_ppc64le.const
@@ -335,6 +335,8 @@ PER_SVR4 = 68157441
PER_UW7 = 68157454
PER_WYSEV386 = 83886084
PER_XENIX = 83886087
+PKEY_DISABLE_ACCESS = 1
+PKEY_DISABLE_WRITE = 2
POLLERR = 8
POLLHUP = 16
POLLIN = 1
@@ -351,7 +353,10 @@ PRIO_PGRP = 1
PRIO_PROCESS = 0
PRIO_USER = 2
PROT_EXEC = 4
+PROT_GROWSDOWN = 16777216
+PROT_GROWSUP = 33554432
PROT_READ = 1
+PROT_SEM = 8
PROT_WRITE = 2
PR_CAPBSET_DROP = 24
PR_CAPBSET_READ = 23
diff --git a/sys/vnet_amd64.const b/sys/vnet_amd64.const
new file mode 100644
index 000000000..c9328ca7e
--- /dev/null
+++ b/sys/vnet_amd64.const
@@ -0,0 +1 @@
+# AUTOGENERATED FILE
diff --git a/sys/vnet_arm64.const b/sys/vnet_arm64.const
new file mode 100644
index 000000000..c9328ca7e
--- /dev/null
+++ b/sys/vnet_arm64.const
@@ -0,0 +1 @@
+# AUTOGENERATED FILE
diff --git a/sys/vnet_ppc64le.const b/sys/vnet_ppc64le.const
new file mode 100644
index 000000000..c9328ca7e
--- /dev/null
+++ b/sys/vnet_ppc64le.const
@@ -0,0 +1 @@
+# AUTOGENERATED FILE