aboutsummaryrefslogtreecommitdiffstats
path: root/sys/linux
diff options
context:
space:
mode:
authorJiaheng Hu <jiahengh@google.com>2020-06-23 19:37:13 +0000
committerEric Biggers <ebiggers3@gmail.com>2020-06-24 12:08:15 -0700
commit9d60b18e94847a3e124d344a2255a75fb175c06c (patch)
tree53c03e891f454a278f86bb7fdc7c6dbfe2b1ee08 /sys/linux
parent41694dbf71b60ba591c77619e7a68e532eb6db6e (diff)
sys/linux: add openat2 description
Added the openat2 syscall for file and for directory. Details of the syscall can be seen at https://man7.org/linux/man-pages/man2/openat2.2.html.
Diffstat (limited to 'sys/linux')
-rw-r--r--sys/linux/sys.txt9
-rw-r--r--sys/linux/sys_386.const6
-rw-r--r--sys/linux/sys_amd64.const6
-rw-r--r--sys/linux/sys_arm.const6
-rw-r--r--sys/linux/sys_arm64.const6
-rw-r--r--sys/linux/sys_mips64le.const6
-rw-r--r--sys/linux/sys_ppc64le.const6
7 files changed, 45 insertions, 0 deletions
diff --git a/sys/linux/sys.txt b/sys/linux/sys.txt
index f0508ff6e..64a69e581 100644
--- a/sys/linux/sys.txt
+++ b/sys/linux/sys.txt
@@ -80,6 +80,8 @@ open(file ptr[in, filename], flags flags[open_flags], mode flags[open_mode]) fd
open$dir(file ptr[in, filename], flags flags[open_flags], mode flags[open_mode]) fd_dir
openat$dir(fd const[AT_FDCWD], file ptr[in, filename], flags flags[open_flags], mode flags[open_mode]) fd_dir
openat(fd fd_dir[opt], file ptr[in, filename], flags flags[open_flags], mode flags[open_mode]) fd
+openat2$dir(fd const[AT_FDCWD], file ptr[in, filename], how ptr[in, open_how], size bytesize[how]) fd_dir
+openat2(fd fd_dir[opt], file ptr[in, filename], how ptr[in, open_how], size bytesize[how]) fd
creat(file ptr[in, filename], mode flags[open_mode]) fd
close(fd fd)
read(fd fd, buf buffer[out], count len[buf])
@@ -887,8 +889,15 @@ kcmp_epoll_slot {
toff int32
}
+open_how {
+ flags flags[open_flags, int64]
+ mode flags[open_mode, int64]
+ resolve flags[resolve_flags, int64]
+}
+
open_flags = 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
+resolve_flags = RESOLVE_BENEATH, RESOLVE_IN_ROOT, RESOLVE_NO_MAGICLINKS, RESOLVE_NO_SYMLINKS, RESOLVE_NO_XDEV
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, MADV_WIPEONFORK, MADV_KEEPONFORK, MADV_COLD, MADV_PAGEOUT
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
diff --git a/sys/linux/sys_386.const b/sys/linux/sys_386.const
index 2b5a54e1f..f34d4b44f 100644
--- a/sys/linux/sys_386.const
+++ b/sys/linux/sys_386.const
@@ -392,6 +392,11 @@ READ_IMPLIES_EXEC = 4194304
RENAME_EXCHANGE = 2
RENAME_NOREPLACE = 1
RENAME_WHITEOUT = 4
+RESOLVE_BENEATH = 8
+RESOLVE_IN_ROOT = 16
+RESOLVE_NO_MAGICLINKS = 2
+RESOLVE_NO_SYMLINKS = 4
+RESOLVE_NO_XDEV = 1
RLIMIT_AS = 9
RLIMIT_CORE = 4
RLIMIT_CPU = 0
@@ -661,6 +666,7 @@ __NR_nanosleep = 162
__NR_open = 5
__NR_open_by_handle_at = 342
__NR_openat = 295
+__NR_openat2 = 437
__NR_pause = 29
__NR_personality = 136
__NR_pidfd_getfd = 438
diff --git a/sys/linux/sys_amd64.const b/sys/linux/sys_amd64.const
index f66b32056..a2d39af2a 100644
--- a/sys/linux/sys_amd64.const
+++ b/sys/linux/sys_amd64.const
@@ -392,6 +392,11 @@ READ_IMPLIES_EXEC = 4194304
RENAME_EXCHANGE = 2
RENAME_NOREPLACE = 1
RENAME_WHITEOUT = 4
+RESOLVE_BENEATH = 8
+RESOLVE_IN_ROOT = 16
+RESOLVE_NO_MAGICLINKS = 2
+RESOLVE_NO_SYMLINKS = 4
+RESOLVE_NO_XDEV = 1
RLIMIT_AS = 9
RLIMIT_CORE = 4
RLIMIT_CPU = 0
@@ -661,6 +666,7 @@ __NR_newfstatat = 262
__NR_open = 2
__NR_open_by_handle_at = 304
__NR_openat = 257
+__NR_openat2 = 437
__NR_pause = 34
__NR_personality = 135
__NR_pidfd_getfd = 438
diff --git a/sys/linux/sys_arm.const b/sys/linux/sys_arm.const
index dac0aa65e..4b31a92c0 100644
--- a/sys/linux/sys_arm.const
+++ b/sys/linux/sys_arm.const
@@ -392,6 +392,11 @@ READ_IMPLIES_EXEC = 4194304
RENAME_EXCHANGE = 2
RENAME_NOREPLACE = 1
RENAME_WHITEOUT = 4
+RESOLVE_BENEATH = 8
+RESOLVE_IN_ROOT = 16
+RESOLVE_NO_MAGICLINKS = 2
+RESOLVE_NO_SYMLINKS = 4
+RESOLVE_NO_XDEV = 1
RLIMIT_AS = 9
RLIMIT_CORE = 4
RLIMIT_CPU = 0
@@ -661,6 +666,7 @@ __NR_nanosleep = 162
__NR_open = 5
__NR_open_by_handle_at = 371
__NR_openat = 322
+__NR_openat2 = 437
__NR_pause = 29
__NR_personality = 136
__NR_pidfd_getfd = 438
diff --git a/sys/linux/sys_arm64.const b/sys/linux/sys_arm64.const
index c5cc1c97c..b606c52f6 100644
--- a/sys/linux/sys_arm64.const
+++ b/sys/linux/sys_arm64.const
@@ -392,6 +392,11 @@ READ_IMPLIES_EXEC = 4194304
RENAME_EXCHANGE = 2
RENAME_NOREPLACE = 1
RENAME_WHITEOUT = 4
+RESOLVE_BENEATH = 8
+RESOLVE_IN_ROOT = 16
+RESOLVE_NO_MAGICLINKS = 2
+RESOLVE_NO_SYMLINKS = 4
+RESOLVE_NO_XDEV = 1
RLIMIT_AS = 9
RLIMIT_CORE = 4
RLIMIT_CPU = 0
@@ -661,6 +666,7 @@ __NR_newfstatat = 79
# __NR_open is not set
__NR_open_by_handle_at = 265
__NR_openat = 56
+__NR_openat2 = 437
# __NR_pause is not set
__NR_personality = 92
__NR_pidfd_getfd = 438
diff --git a/sys/linux/sys_mips64le.const b/sys/linux/sys_mips64le.const
index bbb5f0379..a52b523e0 100644
--- a/sys/linux/sys_mips64le.const
+++ b/sys/linux/sys_mips64le.const
@@ -392,6 +392,11 @@ READ_IMPLIES_EXEC = 4194304
RENAME_EXCHANGE = 2
RENAME_NOREPLACE = 1
RENAME_WHITEOUT = 4
+RESOLVE_BENEATH = 8
+RESOLVE_IN_ROOT = 16
+RESOLVE_NO_MAGICLINKS = 2
+RESOLVE_NO_SYMLINKS = 4
+RESOLVE_NO_XDEV = 1
RLIMIT_AS = 6
RLIMIT_CORE = 4
RLIMIT_CPU = 0
@@ -661,6 +666,7 @@ __NR_newfstatat = 5252
__NR_open = 5002
__NR_open_by_handle_at = 5299
__NR_openat = 5247
+__NR_openat2 = 5437
__NR_pause = 5033
__NR_personality = 5132
__NR_pidfd_getfd = 5438
diff --git a/sys/linux/sys_ppc64le.const b/sys/linux/sys_ppc64le.const
index af43719c4..1c95fe8d4 100644
--- a/sys/linux/sys_ppc64le.const
+++ b/sys/linux/sys_ppc64le.const
@@ -392,6 +392,11 @@ READ_IMPLIES_EXEC = 4194304
RENAME_EXCHANGE = 2
RENAME_NOREPLACE = 1
RENAME_WHITEOUT = 4
+RESOLVE_BENEATH = 8
+RESOLVE_IN_ROOT = 16
+RESOLVE_NO_MAGICLINKS = 2
+RESOLVE_NO_SYMLINKS = 4
+RESOLVE_NO_XDEV = 1
RLIMIT_AS = 9
RLIMIT_CORE = 4
RLIMIT_CPU = 0
@@ -661,6 +666,7 @@ __NR_newfstatat = 291
__NR_open = 5
__NR_open_by_handle_at = 346
__NR_openat = 286
+__NR_openat2 = 437
__NR_pause = 29
__NR_personality = 136
__NR_pidfd_getfd = 438