summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustin Cormack <justin.cormack@docker.com>2017-02-02 19:19:27 -0500
committerPaul Moore <paul@paul-moore.com>2017-02-02 19:19:27 -0500
commite8ef0f9a32e33bd5ec78eae9e3bf91684ce91e0a (patch)
treebb65e6940cc461fa9d59909e532a503429bdd5db
parenteedd26dc59641878dabd771e2ff15e729a85ac69 (diff)
downloadlibseccomp-e8ef0f9a32e33bd5ec78eae9e3bf91684ce91e0a.tar.gz
arch: update syscalls for Linux 4.9
Add support for the following syscalls added in Linux v4.9: - preadv2 and pwritev2 - pkey_mprotect, pkey_alloc, pkey_free Signed-off-by: Justin Cormack <justin.cormack@docker.com> [PM: update subject line, description, and some whitespace] Signed-off-by: Paul Moore <paul@paul-moore.com> (imported from commit d9102f12fd39bd77151a1f630fcfc8c80f86c55c)
-rw-r--r--include/seccomp.h.in15
-rw-r--r--src/arch-aarch64-syscalls.c7
-rw-r--r--src/arch-arm-syscalls.c7
-rw-r--r--src/arch-mips-syscalls.c7
-rw-r--r--src/arch-mips64-syscalls.c7
-rw-r--r--src/arch-mips64n32-syscalls.c7
-rw-r--r--src/arch-ppc-syscalls.c7
-rw-r--r--src/arch-ppc64-syscalls.c7
-rw-r--r--src/arch-s390-syscalls.c7
-rw-r--r--src/arch-s390x-syscalls.c7
-rw-r--r--src/arch-x32-syscalls.c5
-rw-r--r--src/arch-x86-syscalls.c7
-rw-r--r--src/arch-x86_64-syscalls.c7
13 files changed, 86 insertions, 11 deletions
diff --git a/include/seccomp.h.in b/include/seccomp.h.in
index 6bf6751..70f1e20 100644
--- a/include/seccomp.h.in
+++ b/include/seccomp.h.in
@@ -1603,6 +1603,21 @@ int seccomp_export_bpf(const scmp_filter_ctx ctx, int fd);
#define __NR_userfaultfd __PNR_userfaultfd
#endif /* __NR_userfaultfd */
+#define __PNR_pkey_mprotect -10201
+#ifndef __NR_pkey_mprotect
+#define __NR_pkey_mprotect __PNR_pkey_mprotect
+#endif /* __NR_pkey_mprotect */
+
+#define __PNR_pkey_alloc -10202
+#ifndef __NR_pkey_alloc
+#define __NR_pkey_alloc __PNR_pkey_alloc
+#endif /* __NR_pkey_alloc */
+
+#define __PNR_pkey_free -10203
+#ifndef __NR_pkey_free
+#define __NR_pkey_free __PNR_pkey_free
+#endif /* __NR_pkey_free */
+
#ifdef __cplusplus
}
#endif
diff --git a/src/arch-aarch64-syscalls.c b/src/arch-aarch64-syscalls.c
index 357f290..6c04ad5 100644
--- a/src/arch-aarch64-syscalls.c
+++ b/src/arch-aarch64-syscalls.c
@@ -26,7 +26,7 @@
#include "arch.h"
#include "arch-aarch64.h"
-/* NOTE: based on Linux 4.5-rc4 */
+/* NOTE: based on Linux 4.9 */
const struct arch_syscall_def aarch64_syscall_table[] = { \
{ "_llseek", __PNR__llseek },
{ "_newselect", __PNR__newselect },
@@ -254,11 +254,15 @@ const struct arch_syscall_def aarch64_syscall_table[] = { \
{ "pipe", __PNR_pipe },
{ "pipe2", 59 },
{ "pivot_root", 41 },
+ { "pkey_alloc", __PNR_pkey_alloc },
+ { "pkey_free", __PNR_pkey_free },
+ { "pkey_mprotect", __PNR_pkey_mprotect },
{ "poll", __PNR_poll },
{ "ppoll", 73 },
{ "prctl", 167 },
{ "pread64", 67 },
{ "preadv", 69 },
+ { "preadv2", 392 },
{ "prlimit64", 261 },
{ "process_vm_readv", 270 },
{ "process_vm_writev", 271 },
@@ -269,6 +273,7 @@ const struct arch_syscall_def aarch64_syscall_table[] = { \
{ "putpmsg", __PNR_putpmsg },
{ "pwrite64", 68 },
{ "pwritev", 70 },
+ { "pwritev2", 393 },
{ "query_module", __PNR_query_module },
{ "quotactl", 60 },
{ "read", 63 },
diff --git a/src/arch-arm-syscalls.c b/src/arch-arm-syscalls.c
index d1349a1..e7e2d31 100644
--- a/src/arch-arm-syscalls.c
+++ b/src/arch-arm-syscalls.c
@@ -37,7 +37,7 @@
#define __SCMP_NR_BASE __SCMP_NR_OABI_SYSCALL_BASE
#endif
-/* NOTE: based on Linux 4.5-rc4 */
+/* NOTE: based on Linux 4.9 */
const struct arch_syscall_def arm_syscall_table[] = { \
/* NOTE: arm_sync_file_range() and sync_file_range2() share values */
{ "_llseek", (__SCMP_NR_BASE + 140) },
@@ -266,11 +266,15 @@ const struct arch_syscall_def arm_syscall_table[] = { \
{ "pipe", (__SCMP_NR_BASE + 42) },
{ "pipe2", (__SCMP_NR_BASE + 359) },
{ "pivot_root", (__SCMP_NR_BASE + 218) },
+ { "pkey_alloc", (__SCMP_NR_BASE + 395) },
+ { "pkey_free", (__SCMP_NR_BASE + 396) },
+ { "pkey_mprotect", (__SCMP_NR_BASE + 394) },
{ "poll", (__SCMP_NR_BASE + 168) },
{ "ppoll", (__SCMP_NR_BASE + 336) },
{ "prctl", (__SCMP_NR_BASE + 172) },
{ "pread64", (__SCMP_NR_BASE + 180) },
{ "preadv", (__SCMP_NR_BASE + 361) },
+ { "preadv2", (__SCMP_NR_BASE + 392) },
{ "prlimit64", (__SCMP_NR_BASE + 369) },
{ "process_vm_readv", (__SCMP_NR_BASE + 376) },
{ "process_vm_writev", (__SCMP_NR_BASE + 377) },
@@ -281,6 +285,7 @@ const struct arch_syscall_def arm_syscall_table[] = { \
{ "putpmsg", __PNR_putpmsg },
{ "pwrite64", (__SCMP_NR_BASE + 181) },
{ "pwritev", (__SCMP_NR_BASE + 362) },
+ { "pwritev2", (__SCMP_NR_BASE + 393) },
{ "query_module", __PNR_query_module },
{ "quotactl", (__SCMP_NR_BASE + 131) },
{ "read", (__SCMP_NR_BASE + 3) },
diff --git a/src/arch-mips-syscalls.c b/src/arch-mips-syscalls.c
index 2cd86cd..dada5a9 100644
--- a/src/arch-mips-syscalls.c
+++ b/src/arch-mips-syscalls.c
@@ -30,7 +30,7 @@
/* O32 ABI */
#define __SCMP_NR_BASE 4000
-/* NOTE: based on Linux 4.5-rc4 */
+/* NOTE: based on Linux 4.9 */
const struct arch_syscall_def mips_syscall_table[] = { \
{ "_llseek", (__SCMP_NR_BASE + 140) },
{ "_newselect", (__SCMP_NR_BASE + 142) },
@@ -258,11 +258,15 @@ const struct arch_syscall_def mips_syscall_table[] = { \
{ "pipe", (__SCMP_NR_BASE + 42) },
{ "pipe2", (__SCMP_NR_BASE + 328) },
{ "pivot_root", (__SCMP_NR_BASE + 216) },
+ { "pkey_alloc", (__SCMP_NR_BASE + 364) },
+ { "pkey_free", (__SCMP_NR_BASE + 365) },
+ { "pkey_mprotect", (__SCMP_NR_BASE + 363) },
{ "poll", (__SCMP_NR_BASE + 188) },
{ "ppoll", (__SCMP_NR_BASE + 302) },
{ "prctl", (__SCMP_NR_BASE + 192) },
{ "pread64", (__SCMP_NR_BASE + 200) },
{ "preadv", (__SCMP_NR_BASE + 330) },
+ { "preadv2", (__SCMP_NR_BASE + 361) },
{ "prlimit64", (__SCMP_NR_BASE + 338) },
{ "process_vm_readv", (__SCMP_NR_BASE + 345) },
{ "process_vm_writev", (__SCMP_NR_BASE + 346) },
@@ -273,6 +277,7 @@ const struct arch_syscall_def mips_syscall_table[] = { \
{ "putpmsg", (__SCMP_NR_BASE + 209) },
{ "pwrite64", (__SCMP_NR_BASE + 201) },
{ "pwritev", (__SCMP_NR_BASE + 331) },
+ { "pwritev2", (__SCMP_NR_BASE + 362) },
{ "query_module", (__SCMP_NR_BASE + 187) },
{ "quotactl", (__SCMP_NR_BASE + 131) },
{ "read", (__SCMP_NR_BASE + 3) },
diff --git a/src/arch-mips64-syscalls.c b/src/arch-mips64-syscalls.c
index 80db447..bbf8906 100644
--- a/src/arch-mips64-syscalls.c
+++ b/src/arch-mips64-syscalls.c
@@ -30,7 +30,7 @@
/* 64 ABI */
#define __SCMP_NR_BASE 5000
-/* NOTE: based on Linux 4.5-rc4 */
+/* NOTE: based on Linux 4.9 */
const struct arch_syscall_def mips64_syscall_table[] = { \
{ "_llseek", __PNR__llseek },
{ "_newselect", (__SCMP_NR_BASE + 22) },
@@ -258,11 +258,15 @@ const struct arch_syscall_def mips64_syscall_table[] = { \
{ "pipe", (__SCMP_NR_BASE + 21) },
{ "pipe2", (__SCMP_NR_BASE + 287) },
{ "pivot_root", (__SCMP_NR_BASE + 151) },
+ { "pkey_alloc", (__SCMP_NR_BASE + 324) },
+ { "pkey_free", (__SCMP_NR_BASE + 325) },
+ { "pkey_mprotect", (__SCMP_NR_BASE + 323) },
{ "poll", (__SCMP_NR_BASE + 7) },
{ "ppoll", (__SCMP_NR_BASE + 261) },
{ "prctl", (__SCMP_NR_BASE + 153) },
{ "pread64", (__SCMP_NR_BASE + 16) },
{ "preadv", (__SCMP_NR_BASE + 289) },
+ { "preadv2", (__SCMP_NR_BASE + 321) },
{ "prlimit64", (__SCMP_NR_BASE + 297) },
{ "process_vm_readv", (__SCMP_NR_BASE + 304) },
{ "process_vm_writev", (__SCMP_NR_BASE + 305) },
@@ -273,6 +277,7 @@ const struct arch_syscall_def mips64_syscall_table[] = { \
{ "putpmsg", (__SCMP_NR_BASE + 175) },
{ "pwrite64", (__SCMP_NR_BASE + 17) },
{ "pwritev", (__SCMP_NR_BASE + 290) },
+ { "pwritev2", (__SCMP_NR_BASE + 322) },
{ "query_module", (__SCMP_NR_BASE + 171) },
{ "quotactl", (__SCMP_NR_BASE + 172) },
{ "read", (__SCMP_NR_BASE + 0) },
diff --git a/src/arch-mips64n32-syscalls.c b/src/arch-mips64n32-syscalls.c
index 5cf03d2..3484882 100644
--- a/src/arch-mips64n32-syscalls.c
+++ b/src/arch-mips64n32-syscalls.c
@@ -30,7 +30,7 @@
/* N32 ABI */
#define __SCMP_NR_BASE 6000
-/* NOTE: based on Linux 4.5-rc4 */
+/* NOTE: based on Linux 4.9 */
const struct arch_syscall_def mips64n32_syscall_table[] = { \
{ "_llseek", __PNR__llseek },
{ "_newselect", (__SCMP_NR_BASE + 22) },
@@ -258,11 +258,15 @@ const struct arch_syscall_def mips64n32_syscall_table[] = { \
{ "pipe", (__SCMP_NR_BASE + 21) },
{ "pipe2", (__SCMP_NR_BASE + 291) },
{ "pivot_root", (__SCMP_NR_BASE + 151) },
+ { "pkey_alloc", (__SCMP_NR_BASE + 328) },
+ { "pkey_free", (__SCMP_NR_BASE + 329) },
+ { "pkey_mprotect", (__SCMP_NR_BASE + 327) },
{ "poll", (__SCMP_NR_BASE + 7) },
{ "ppoll", (__SCMP_NR_BASE + 265) },
{ "prctl", (__SCMP_NR_BASE + 153) },
{ "pread64", (__SCMP_NR_BASE + 16) },
{ "preadv", (__SCMP_NR_BASE + 293) },
+ { "preadv2", (__SCMP_NR_BASE + 325) },
{ "prlimit64", (__SCMP_NR_BASE + 302) },
{ "process_vm_readv", (__SCMP_NR_BASE + 309) },
{ "process_vm_writev", (__SCMP_NR_BASE + 310) },
@@ -273,6 +277,7 @@ const struct arch_syscall_def mips64n32_syscall_table[] = { \
{ "putpmsg", (__SCMP_NR_BASE + 175) },
{ "pwrite64", (__SCMP_NR_BASE + 17) },
{ "pwritev", (__SCMP_NR_BASE + 294) },
+ { "pwritev2", (__SCMP_NR_BASE + 326) },
{ "query_module", (__SCMP_NR_BASE + 171) },
{ "quotactl", (__SCMP_NR_BASE + 172) },
{ "read", (__SCMP_NR_BASE + 0) },
diff --git a/src/arch-ppc-syscalls.c b/src/arch-ppc-syscalls.c
index 2bd8a36..26b4ff1 100644
--- a/src/arch-ppc-syscalls.c
+++ b/src/arch-ppc-syscalls.c
@@ -27,7 +27,7 @@
#include "arch.h"
#include "arch-ppc.h"
-/* NOTE: based on Linux 4.5-rc4 */
+/* NOTE: based on Linux 4.9 */
const struct arch_syscall_def ppc_syscall_table[] = { \
{ "_llseek", 140 },
{ "_newselect", 142 },
@@ -255,11 +255,15 @@ const struct arch_syscall_def ppc_syscall_table[] = { \
{ "pipe", 42 },
{ "pipe2", 317 },
{ "pivot_root", 203 },
+ { "pkey_alloc", __PNR_pkey_alloc },
+ { "pkey_free", __PNR_pkey_free },
+ { "pkey_mprotect", __PNR_pkey_mprotect },
{ "poll", 167 },
{ "ppoll", 281 },
{ "prctl", 171 },
{ "pread64", 179 },
{ "preadv", 320 },
+ { "preadv2", 380 },
{ "prlimit64", 325 },
{ "process_vm_readv", 351 },
{ "process_vm_writev", 352 },
@@ -270,6 +274,7 @@ const struct arch_syscall_def ppc_syscall_table[] = { \
{ "putpmsg", 188 },
{ "pwrite64", 180 },
{ "pwritev", 321 },
+ { "pwritev2", 381 },
{ "query_module", 166 },
{ "quotactl", 131 },
{ "read", 3 },
diff --git a/src/arch-ppc64-syscalls.c b/src/arch-ppc64-syscalls.c
index 73621a1..3ebd086 100644
--- a/src/arch-ppc64-syscalls.c
+++ b/src/arch-ppc64-syscalls.c
@@ -27,7 +27,7 @@
#include "arch.h"
#include "arch-ppc64.h"
-/* NOTE: based on Linux 4.5-rc4 */
+/* NOTE: based on Linux 4.9 */
const struct arch_syscall_def ppc64_syscall_table[] = { \
{ "_llseek", 140 },
{ "_newselect", 142 },
@@ -255,11 +255,15 @@ const struct arch_syscall_def ppc64_syscall_table[] = { \
{ "pipe", 42 },
{ "pipe2", 317 },
{ "pivot_root", 203 },
+ { "pkey_alloc", __PNR_pkey_alloc },
+ { "pkey_free", __PNR_pkey_free },
+ { "pkey_mprotect", __PNR_pkey_mprotect },
{ "poll", 167 },
{ "ppoll", 281 },
{ "prctl", 171 },
{ "pread64", 179 },
{ "preadv", 320 },
+ { "preadv2", 380 },
{ "prlimit64", 325 },
{ "process_vm_readv", 351 },
{ "process_vm_writev", 352 },
@@ -270,6 +274,7 @@ const struct arch_syscall_def ppc64_syscall_table[] = { \
{ "putpmsg", 188 },
{ "pwrite64", 180 },
{ "pwritev", 321 },
+ { "pwritev2", 381 },
{ "query_module", 166 },
{ "quotactl", 131 },
{ "read", 3 },
diff --git a/src/arch-s390-syscalls.c b/src/arch-s390-syscalls.c
index a04673a..84253a6 100644
--- a/src/arch-s390-syscalls.c
+++ b/src/arch-s390-syscalls.c
@@ -10,7 +10,7 @@
#include "arch.h"
#include "arch-s390.h"
-/* NOTE: based on Linux 4.5-rc4 */
+/* NOTE: based on Linux 4.9 */
const struct arch_syscall_def s390_syscall_table[] = { \
{ "_llseek", 140 },
{ "_newselect", 142 },
@@ -238,11 +238,15 @@ const struct arch_syscall_def s390_syscall_table[] = { \
{ "pipe", 42 },
{ "pipe2", 325 },
{ "pivot_root", 217 },
+ { "pkey_alloc", __PNR_pkey_alloc },
+ { "pkey_free", __PNR_pkey_free },
+ { "pkey_mprotect", __PNR_pkey_mprotect },
{ "poll", 168 },
{ "ppoll", 302 },
{ "prctl", 172 },
{ "pread64", 180 },
{ "preadv", 328 },
+ { "preadv2", 376 },
{ "prlimit64", 334 },
{ "process_vm_readv", 340 },
{ "process_vm_writev", 341 },
@@ -253,6 +257,7 @@ const struct arch_syscall_def s390_syscall_table[] = { \
{ "putpmsg", 189 },
{ "pwrite64", 181 },
{ "pwritev", 329 },
+ { "pwritev2", 377 },
{ "query_module", 167 },
{ "quotactl", 131 },
{ "read", 3 },
diff --git a/src/arch-s390x-syscalls.c b/src/arch-s390x-syscalls.c
index 9825c63..cc9763d 100644
--- a/src/arch-s390x-syscalls.c
+++ b/src/arch-s390x-syscalls.c
@@ -10,7 +10,7 @@
#include "arch.h"
#include "arch-s390x.h"
-/* NOTE: based on Linux 4.5-rc4 */
+/* NOTE: based on Linux 4.9 */
const struct arch_syscall_def s390x_syscall_table[] = { \
{ "_llseek", __PNR__llseek },
{ "_newselect", __PNR__newselect },
@@ -238,11 +238,15 @@ const struct arch_syscall_def s390x_syscall_table[] = { \
{ "pipe", 42 },
{ "pipe2", 325 },
{ "pivot_root", 217 },
+ { "pkey_alloc", __PNR_pkey_alloc },
+ { "pkey_free", __PNR_pkey_free },
+ { "pkey_mprotect", __PNR_pkey_mprotect },
{ "poll", 168 },
{ "ppoll", 302 },
{ "prctl", 172 },
{ "pread64", 180 },
{ "preadv", 328 },
+ { "preadv2", 376 },
{ "prlimit64", 334 },
{ "process_vm_readv", 340 },
{ "process_vm_writev", 341 },
@@ -253,6 +257,7 @@ const struct arch_syscall_def s390x_syscall_table[] = { \
{ "putpmsg", 189 },
{ "pwrite64", 181 },
{ "pwritev", 329 },
+ { "pwritev2", 377 },
{ "query_module", 167 },
{ "quotactl", 131 },
{ "read", 3 },
diff --git a/src/arch-x32-syscalls.c b/src/arch-x32-syscalls.c
index 80dd38b..5b9970b 100644
--- a/src/arch-x32-syscalls.c
+++ b/src/arch-x32-syscalls.c
@@ -254,11 +254,15 @@ const struct arch_syscall_def x32_syscall_table[] = { \
{ "pipe", (X32_SYSCALL_BIT + 22) },
{ "pipe2", (X32_SYSCALL_BIT + 293) },
{ "pivot_root", (X32_SYSCALL_BIT + 155) },
+ { "pkey_alloc", (X32_SYSCALL_BIT + 330) },
+ { "pkey_free", (X32_SYSCALL_BIT + 331) },
+ { "pkey_mprotect", (X32_SYSCALL_BIT + 329) },
{ "poll", (X32_SYSCALL_BIT + 7) },
{ "ppoll", (X32_SYSCALL_BIT + 271) },
{ "prctl", (X32_SYSCALL_BIT + 157) },
{ "pread64", (X32_SYSCALL_BIT + 17) },
{ "preadv", (X32_SYSCALL_BIT + 534) },
+ { "preadv2", (X32_SYSCALL_BIT + 546) },
{ "prlimit64", (X32_SYSCALL_BIT + 302) },
{ "process_vm_readv", (X32_SYSCALL_BIT + 539) },
{ "process_vm_writev", (X32_SYSCALL_BIT + 540) },
@@ -269,6 +273,7 @@ const struct arch_syscall_def x32_syscall_table[] = { \
{ "putpmsg", (X32_SYSCALL_BIT + 182) },
{ "pwrite64", (X32_SYSCALL_BIT + 18) },
{ "pwritev", (X32_SYSCALL_BIT + 535) },
+ { "pwritev2", (X32_SYSCALL_BIT + 547) },
{ "query_module", __PNR_query_module },
{ "quotactl", (X32_SYSCALL_BIT + 179) },
{ "read", (X32_SYSCALL_BIT + 0) },
diff --git a/src/arch-x86-syscalls.c b/src/arch-x86-syscalls.c
index 58e0597..00684ac 100644
--- a/src/arch-x86-syscalls.c
+++ b/src/arch-x86-syscalls.c
@@ -26,7 +26,7 @@
#include "arch.h"
#include "arch-x86.h"
-/* NOTE: based on Linux 4.5-rc4 */
+/* NOTE: based on Linux 4.9 */
const struct arch_syscall_def x86_syscall_table[] = { \
{ "_llseek", 140 },
{ "_newselect", 142 },
@@ -254,11 +254,15 @@ const struct arch_syscall_def x86_syscall_table[] = { \
{ "pipe", 42 },
{ "pipe2", 331 },
{ "pivot_root", 217 },
+ { "pkey_alloc", 381 },
+ { "pkey_free", 382 },
+ { "pkey_mprotect", 380 },
{ "poll", 168 },
{ "ppoll", 309 },
{ "prctl", 172 },
{ "pread64", 180 },
{ "preadv", 333 },
+ { "preadv2", 378 },
{ "prlimit64", 340 },
{ "process_vm_readv", 347 },
{ "process_vm_writev", 348 },
@@ -269,6 +273,7 @@ const struct arch_syscall_def x86_syscall_table[] = { \
{ "putpmsg", 189 },
{ "pwrite64", 181 },
{ "pwritev", 334 },
+ { "pwritev2", 379 },
{ "query_module", 167 },
{ "quotactl", 131 },
{ "read", 3 },
diff --git a/src/arch-x86_64-syscalls.c b/src/arch-x86_64-syscalls.c
index 2dd9818..655cf5f 100644
--- a/src/arch-x86_64-syscalls.c
+++ b/src/arch-x86_64-syscalls.c
@@ -26,7 +26,7 @@
#include "arch.h"
#include "arch-x86_64.h"
-/* NOTE: based on Linux 4.5-rc4 */
+/* NOTE: based on Linux 4.9 */
const struct arch_syscall_def x86_64_syscall_table[] = { \
{ "_llseek", __PNR__llseek },
{ "_newselect", __PNR__newselect },
@@ -254,11 +254,15 @@ const struct arch_syscall_def x86_64_syscall_table[] = { \
{ "pipe", 22 },
{ "pipe2", 293 },
{ "pivot_root", 155 },
+ { "pkey_alloc", 330 },
+ { "pkey_free", 331 },
+ { "pkey_mprotect", 329 },
{ "poll", 7 },
{ "ppoll", 271 },
{ "prctl", 157 },
{ "pread64", 17 },
{ "preadv", 295 },
+ { "preadv2", 327 },
{ "prlimit64", 302 },
{ "process_vm_readv", 310 },
{ "process_vm_writev", 311 },
@@ -269,6 +273,7 @@ const struct arch_syscall_def x86_64_syscall_table[] = { \
{ "putpmsg", 182 },
{ "pwrite64", 18 },
{ "pwritev", 296 },
+ { "pwritev2", 328 },
{ "query_module", 178 },
{ "quotactl", 179 },
{ "read", 0 },