script_core 0.2.6 → 0.2.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/ext/enterprise_script_service/libseccomp/.travis.yml +21 -7
- data/ext/enterprise_script_service/libseccomp/CHANGELOG +22 -0
- data/ext/enterprise_script_service/libseccomp/CONTRIBUTING.md +37 -26
- data/ext/enterprise_script_service/libseccomp/CREDITS +8 -0
- data/ext/enterprise_script_service/libseccomp/README.md +3 -1
- data/ext/enterprise_script_service/libseccomp/configure.ac +13 -8
- data/ext/enterprise_script_service/libseccomp/doc/Makefile.am +6 -0
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_api_get.3 +12 -2
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_arch_add.3 +38 -6
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_attr_set.3 +53 -2
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_export_bpf.3 +20 -2
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_init.3 +9 -2
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_load.3 +32 -2
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_merge.3 +16 -2
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_notify_alloc.3 +113 -0
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_notify_fd.3 +1 -0
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_notify_free.3 +1 -0
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_notify_id_valid.3 +1 -0
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_notify_receive.3 +1 -0
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_notify_respond.3 +1 -0
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_rule_add.3 +64 -3
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_syscall_priority.3 +18 -3
- data/ext/enterprise_script_service/libseccomp/include/seccomp-syscalls.h +12 -0
- data/ext/enterprise_script_service/libseccomp/include/seccomp.h.in +116 -0
- data/ext/enterprise_script_service/libseccomp/src/.gitignore +2 -0
- data/ext/enterprise_script_service/libseccomp/src/Makefile.am +31 -17
- data/ext/enterprise_script_service/libseccomp/src/api.c +254 -58
- data/ext/enterprise_script_service/libseccomp/src/arch-aarch64.h +1 -9
- data/ext/enterprise_script_service/libseccomp/src/arch-arm.c +47 -2
- data/ext/enterprise_script_service/libseccomp/src/arch-arm.h +1 -9
- data/ext/enterprise_script_service/libseccomp/src/arch-gperf-generate +40 -0
- data/ext/enterprise_script_service/libseccomp/src/arch-mips.c +41 -4
- data/ext/enterprise_script_service/libseccomp/src/arch-mips.h +2 -10
- data/ext/enterprise_script_service/libseccomp/src/arch-mips64.c +41 -4
- data/ext/enterprise_script_service/libseccomp/src/arch-mips64.h +3 -11
- data/ext/enterprise_script_service/libseccomp/src/arch-mips64n32.c +41 -4
- data/ext/enterprise_script_service/libseccomp/src/arch-mips64n32.h +2 -10
- data/ext/enterprise_script_service/libseccomp/src/arch-parisc.h +1 -10
- data/ext/enterprise_script_service/libseccomp/src/arch-parisc64.c +3 -3
- data/ext/enterprise_script_service/libseccomp/src/arch-parisc64.h +29 -0
- data/ext/enterprise_script_service/libseccomp/src/arch-ppc.h +1 -9
- data/ext/enterprise_script_service/libseccomp/src/arch-ppc64.c +606 -8
- data/ext/enterprise_script_service/libseccomp/src/arch-ppc64.h +2 -10
- data/ext/enterprise_script_service/libseccomp/src/arch-riscv64.c +31 -0
- data/ext/enterprise_script_service/libseccomp/src/arch-riscv64.h +22 -0
- data/ext/enterprise_script_service/libseccomp/src/arch-s390.c +171 -12
- data/ext/enterprise_script_service/libseccomp/src/arch-s390.h +1 -17
- data/ext/enterprise_script_service/libseccomp/src/arch-s390x.c +166 -10
- data/ext/enterprise_script_service/libseccomp/src/arch-s390x.h +1 -20
- data/ext/enterprise_script_service/libseccomp/src/arch-syscall-dump.c +8 -1
- data/ext/enterprise_script_service/libseccomp/src/arch-syscall-validate +359 -143
- data/ext/enterprise_script_service/libseccomp/src/arch-x32.c +36 -2
- data/ext/enterprise_script_service/libseccomp/src/arch-x32.h +2 -10
- data/ext/enterprise_script_service/libseccomp/src/arch-x86.c +172 -10
- data/ext/enterprise_script_service/libseccomp/src/arch-x86.h +1 -14
- data/ext/enterprise_script_service/libseccomp/src/arch-x86_64.h +1 -9
- data/ext/enterprise_script_service/libseccomp/src/arch.c +11 -3
- data/ext/enterprise_script_service/libseccomp/src/arch.h +7 -0
- data/ext/enterprise_script_service/libseccomp/src/db.c +268 -57
- data/ext/enterprise_script_service/libseccomp/src/db.h +16 -2
- data/ext/enterprise_script_service/libseccomp/src/gen_bpf.c +503 -148
- data/ext/enterprise_script_service/libseccomp/src/gen_bpf.h +2 -1
- data/ext/enterprise_script_service/libseccomp/src/gen_pfc.c +165 -37
- data/ext/enterprise_script_service/libseccomp/src/python/libseccomp.pxd +37 -1
- data/ext/enterprise_script_service/libseccomp/src/python/seccomp.pyx +295 -5
- data/ext/enterprise_script_service/libseccomp/src/syscalls.c +56 -0
- data/ext/enterprise_script_service/libseccomp/src/syscalls.csv +470 -0
- data/ext/enterprise_script_service/libseccomp/src/syscalls.h +62 -0
- data/ext/enterprise_script_service/libseccomp/src/syscalls.perf.template +82 -0
- data/ext/enterprise_script_service/libseccomp/src/system.c +196 -16
- data/ext/enterprise_script_service/libseccomp/src/system.h +68 -13
- data/ext/enterprise_script_service/libseccomp/tests/.gitignore +9 -2
- data/ext/enterprise_script_service/libseccomp/tests/06-sim-actions.tests +1 -1
- data/ext/enterprise_script_service/libseccomp/tests/11-basic-basic_errors.c +5 -5
- data/ext/enterprise_script_service/libseccomp/tests/13-basic-attrs.c +35 -1
- data/ext/enterprise_script_service/libseccomp/tests/13-basic-attrs.py +10 -1
- data/ext/enterprise_script_service/libseccomp/tests/15-basic-resolver.c +1 -0
- data/ext/enterprise_script_service/libseccomp/tests/16-sim-arch_basic.c +12 -0
- data/ext/enterprise_script_service/libseccomp/tests/16-sim-arch_basic.py +1 -0
- data/ext/enterprise_script_service/libseccomp/tests/{18-sim-basic_whitelist.c → 18-sim-basic_allowlist.c} +0 -0
- data/ext/enterprise_script_service/libseccomp/tests/{18-sim-basic_whitelist.py → 18-sim-basic_allowlist.py} +0 -0
- data/ext/enterprise_script_service/libseccomp/tests/18-sim-basic_allowlist.tests +32 -0
- data/ext/enterprise_script_service/libseccomp/tests/23-sim-arch_all_le_basic.c +3 -0
- data/ext/enterprise_script_service/libseccomp/tests/23-sim-arch_all_le_basic.py +1 -0
- data/ext/enterprise_script_service/libseccomp/tests/30-sim-socket_syscalls.c +3 -0
- data/ext/enterprise_script_service/libseccomp/tests/30-sim-socket_syscalls.py +1 -0
- data/ext/enterprise_script_service/libseccomp/tests/30-sim-socket_syscalls.tests +33 -17
- data/ext/enterprise_script_service/libseccomp/tests/{34-sim-basic_blacklist.c → 34-sim-basic_denylist.c} +0 -0
- data/ext/enterprise_script_service/libseccomp/tests/{34-sim-basic_blacklist.py → 34-sim-basic_denylist.py} +0 -0
- data/ext/enterprise_script_service/libseccomp/tests/34-sim-basic_denylist.tests +32 -0
- data/ext/enterprise_script_service/libseccomp/tests/36-sim-ipc_syscalls.c +3 -0
- data/ext/enterprise_script_service/libseccomp/tests/36-sim-ipc_syscalls.py +1 -0
- data/ext/enterprise_script_service/libseccomp/tests/36-sim-ipc_syscalls.tests +25 -25
- data/ext/enterprise_script_service/libseccomp/tests/39-basic-api_level.c +24 -3
- data/ext/enterprise_script_service/libseccomp/tests/39-basic-api_level.py +16 -1
- data/ext/enterprise_script_service/libseccomp/tests/47-live-kill_process.c +3 -3
- data/ext/enterprise_script_service/libseccomp/tests/51-live-user_notification.c +112 -0
- data/ext/enterprise_script_service/libseccomp/tests/51-live-user_notification.py +60 -0
- data/ext/enterprise_script_service/libseccomp/tests/51-live-user_notification.tests +11 -0
- data/ext/enterprise_script_service/libseccomp/tests/53-sim-binary_tree.c +156 -0
- data/ext/enterprise_script_service/libseccomp/tests/53-sim-binary_tree.py +95 -0
- data/ext/enterprise_script_service/libseccomp/tests/53-sim-binary_tree.tests +65 -0
- data/ext/enterprise_script_service/libseccomp/tests/54-live-binary_tree.c +128 -0
- data/ext/enterprise_script_service/libseccomp/tests/54-live-binary_tree.py +95 -0
- data/ext/enterprise_script_service/libseccomp/tests/54-live-binary_tree.tests +11 -0
- data/ext/enterprise_script_service/libseccomp/tests/55-basic-pfc_binary_tree.c +134 -0
- data/ext/enterprise_script_service/libseccomp/tests/55-basic-pfc_binary_tree.sh +46 -0
- data/ext/enterprise_script_service/libseccomp/tests/55-basic-pfc_binary_tree.tests +11 -0
- data/ext/enterprise_script_service/libseccomp/tests/56-basic-iterate_syscalls.c +90 -0
- data/ext/enterprise_script_service/libseccomp/tests/56-basic-iterate_syscalls.py +65 -0
- data/ext/enterprise_script_service/libseccomp/tests/56-basic-iterate_syscalls.tests +11 -0
- data/ext/enterprise_script_service/libseccomp/tests/57-basic-rawsysrc.c +64 -0
- data/ext/enterprise_script_service/libseccomp/tests/57-basic-rawsysrc.py +46 -0
- data/ext/enterprise_script_service/libseccomp/tests/57-basic-rawsysrc.tests +11 -0
- data/ext/enterprise_script_service/libseccomp/tests/58-live-tsync_notify.c +116 -0
- data/ext/enterprise_script_service/libseccomp/tests/58-live-tsync_notify.py +61 -0
- data/ext/enterprise_script_service/libseccomp/tests/58-live-tsync_notify.tests +11 -0
- data/ext/enterprise_script_service/libseccomp/tests/Makefile.am +31 -10
- data/ext/enterprise_script_service/libseccomp/tests/regression +6 -3
- data/ext/enterprise_script_service/libseccomp/tests/util.c +3 -3
- data/ext/enterprise_script_service/libseccomp/tools/check-syntax +1 -1
- data/ext/enterprise_script_service/libseccomp/tools/scmp_arch_detect.c +3 -0
- data/ext/enterprise_script_service/libseccomp/tools/scmp_bpf_disasm.c +4 -2
- data/ext/enterprise_script_service/libseccomp/tools/scmp_bpf_sim.c +2 -0
- data/ext/enterprise_script_service/libseccomp/tools/util.c +14 -12
- data/ext/enterprise_script_service/libseccomp/tools/util.h +7 -0
- data/ext/enterprise_script_service/mruby/.github/workflows/codeql-analysis.yml +51 -0
- data/ext/enterprise_script_service/mruby/Doxyfile +1 -1
- data/ext/enterprise_script_service/mruby/README.md +1 -1
- data/ext/enterprise_script_service/mruby/doc/guides/debugger.md +1 -1
- data/ext/enterprise_script_service/mruby/doc/limitations.md +10 -10
- data/ext/enterprise_script_service/mruby/include/mruby.h +13 -0
- data/ext/enterprise_script_service/mruby/include/mruby/boxing_word.h +0 -1
- data/ext/enterprise_script_service/mruby/include/mruby/proc.h +13 -8
- data/ext/enterprise_script_service/mruby/include/mruby/value.h +25 -29
- data/ext/enterprise_script_service/mruby/include/mruby/version.h +3 -3
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-array-ext/src/array.c +5 -8
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c +2 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mrbc/tools/mrbc/mrbc.c +17 -10
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-complex/mrblib/complex.rb +1 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-complex/src/complex.c +1 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-eval/src/eval.c +1 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-fiber/src/fiber.c +1 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-inline-struct/test/inline.c +3 -4
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/src/file.c +1 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/src/file_test.c +9 -26
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/src/io.c +1 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-kernel-ext/src/kernel.c +6 -8
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-method/src/method.c +3 -4
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-objectspace/src/mruby_objectspace.c +0 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-print/src/print.c +1 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-range-ext/src/range.c +1 -3
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-rational/mrblib/rational.rb +1 -3
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-sprintf/src/sprintf.c +3 -3
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-string-ext/src/string.c +1 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-struct/src/struct.c +5 -11
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-time/src/time.c +5 -10
- data/ext/enterprise_script_service/mruby/mrblib/00class.rb +10 -0
- data/ext/enterprise_script_service/mruby/src/array.c +14 -11
- data/ext/enterprise_script_service/mruby/src/class.c +22 -21
- data/ext/enterprise_script_service/mruby/src/error.c +1 -2
- data/ext/enterprise_script_service/mruby/src/etc.c +0 -1
- data/ext/enterprise_script_service/mruby/src/gc.c +5 -5
- data/ext/enterprise_script_service/mruby/src/hash.c +8 -15
- data/ext/enterprise_script_service/mruby/src/kernel.c +4 -7
- data/ext/enterprise_script_service/mruby/src/numeric.c +28 -60
- data/ext/enterprise_script_service/mruby/src/object.c +11 -1
- data/ext/enterprise_script_service/mruby/src/proc.c +7 -8
- data/ext/enterprise_script_service/mruby/src/range.c +4 -12
- data/ext/enterprise_script_service/mruby/src/string.c +24 -21
- data/ext/enterprise_script_service/mruby/src/symbol.c +1 -2
- data/ext/enterprise_script_service/mruby/src/vm.c +28 -24
- data/ext/enterprise_script_service/mruby/test/t/kernel.rb +7 -0
- data/lib/script_core/version.rb +1 -1
- metadata +45 -21
- data/ext/enterprise_script_service/libseccomp/src/arch-aarch64-syscalls.c +0 -559
- data/ext/enterprise_script_service/libseccomp/src/arch-arm-syscalls.c +0 -570
- data/ext/enterprise_script_service/libseccomp/src/arch-mips-syscalls.c +0 -562
- data/ext/enterprise_script_service/libseccomp/src/arch-mips64-syscalls.c +0 -562
- data/ext/enterprise_script_service/libseccomp/src/arch-mips64n32-syscalls.c +0 -562
- data/ext/enterprise_script_service/libseccomp/src/arch-parisc-syscalls.c +0 -542
- data/ext/enterprise_script_service/libseccomp/src/arch-ppc-syscalls.c +0 -559
- data/ext/enterprise_script_service/libseccomp/src/arch-ppc64-syscalls.c +0 -559
- data/ext/enterprise_script_service/libseccomp/src/arch-s390-syscalls.c +0 -642
- data/ext/enterprise_script_service/libseccomp/src/arch-s390x-syscalls.c +0 -642
- data/ext/enterprise_script_service/libseccomp/src/arch-x32-syscalls.c +0 -558
- data/ext/enterprise_script_service/libseccomp/src/arch-x86-syscalls.c +0 -692
- data/ext/enterprise_script_service/libseccomp/src/arch-x86_64-syscalls.c +0 -559
- data/ext/enterprise_script_service/libseccomp/tests/18-sim-basic_whitelist.tests +0 -32
- data/ext/enterprise_script_service/libseccomp/tests/34-sim-basic_blacklist.tests +0 -32
@@ -1,642 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
* Copyright 2015 IBM
|
3
|
-
* Author: Jan Willeke <willeke@linux.vnet.com.com>
|
4
|
-
*/
|
5
|
-
|
6
|
-
#include <string.h>
|
7
|
-
|
8
|
-
#include <seccomp.h>
|
9
|
-
|
10
|
-
#include "arch.h"
|
11
|
-
#include "arch-s390x.h"
|
12
|
-
|
13
|
-
/* NOTE: based on Linux v5.4-rc4 */
|
14
|
-
const struct arch_syscall_def s390x_syscall_table[] = { \
|
15
|
-
{ "_llseek", __PNR__llseek },
|
16
|
-
{ "_newselect", __PNR__newselect },
|
17
|
-
{ "_sysctl", 149 },
|
18
|
-
{ "accept", __PNR_accept },
|
19
|
-
{ "accept4", 364 },
|
20
|
-
{ "access", 33 },
|
21
|
-
{ "acct", 51 },
|
22
|
-
{ "add_key", 278 },
|
23
|
-
{ "adjtimex", 124 },
|
24
|
-
{ "afs_syscall", 137 },
|
25
|
-
{ "alarm", 27 },
|
26
|
-
{ "arm_fadvise64_64", __PNR_arm_fadvise64_64 },
|
27
|
-
{ "arm_sync_file_range", __PNR_arm_sync_file_range },
|
28
|
-
{ "arch_prctl", __PNR_arch_prctl },
|
29
|
-
{ "bdflush", 134 },
|
30
|
-
{ "bind", 361 },
|
31
|
-
{ "bpf", 351 },
|
32
|
-
{ "break", __PNR_break },
|
33
|
-
{ "breakpoint", __PNR_breakpoint },
|
34
|
-
{ "brk", 45 },
|
35
|
-
{ "cachectl", __PNR_cachectl },
|
36
|
-
{ "cacheflush", __PNR_cacheflush },
|
37
|
-
{ "capget", 184 },
|
38
|
-
{ "capset", 185 },
|
39
|
-
{ "chdir", 12 },
|
40
|
-
{ "chmod", 15 },
|
41
|
-
{ "chown", 212 },
|
42
|
-
{ "chown32", __PNR_chown32 },
|
43
|
-
{ "chroot", 61 },
|
44
|
-
{ "clock_adjtime", 337 },
|
45
|
-
{ "clock_adjtime64", __PNR_clock_adjtime64 },
|
46
|
-
{ "clock_getres", 261 },
|
47
|
-
{ "clock_getres_time64", __PNR_clock_getres_time64 },
|
48
|
-
{ "clock_gettime", 260 },
|
49
|
-
{ "clock_gettime64", __PNR_clock_gettime64 },
|
50
|
-
{ "clock_nanosleep", 262 },
|
51
|
-
{ "clock_nanosleep_time64", __PNR_clock_nanosleep_time64 },
|
52
|
-
{ "clock_settime", 259 },
|
53
|
-
{ "clock_settime64", __PNR_clock_settime64 },
|
54
|
-
{ "clone", 120 },
|
55
|
-
{ "clone3", 435 },
|
56
|
-
{ "close", 6 },
|
57
|
-
{ "connect", 362 },
|
58
|
-
{ "copy_file_range", 375 },
|
59
|
-
{ "creat", 8 },
|
60
|
-
{ "create_module", 127 },
|
61
|
-
{ "delete_module", 129 },
|
62
|
-
{ "dup", 41 },
|
63
|
-
{ "dup2", 63 },
|
64
|
-
{ "dup3", 326 },
|
65
|
-
{ "epoll_create", 249 },
|
66
|
-
{ "epoll_create1", 327 },
|
67
|
-
{ "epoll_ctl", 250 },
|
68
|
-
{ "epoll_ctl_old", __PNR_epoll_ctl_old },
|
69
|
-
{ "epoll_pwait", 312 },
|
70
|
-
{ "epoll_wait", 251 },
|
71
|
-
{ "epoll_wait_old", __PNR_epoll_wait_old },
|
72
|
-
{ "eventfd", 318 },
|
73
|
-
{ "eventfd2", 323 },
|
74
|
-
{ "execve", 11 },
|
75
|
-
{ "execveat", 354 },
|
76
|
-
{ "exit", 1 },
|
77
|
-
{ "exit_group", 248 },
|
78
|
-
{ "faccessat", 300 },
|
79
|
-
{ "fadvise64", 253 },
|
80
|
-
{ "fadvise64_64", __PNR_fadvise64_64 },
|
81
|
-
{ "fallocate", 314 },
|
82
|
-
{ "fanotify_init", 332 },
|
83
|
-
{ "fanotify_mark", 333 },
|
84
|
-
{ "fchdir", 133 },
|
85
|
-
{ "fchmod", 94 },
|
86
|
-
{ "fchmodat", 299 },
|
87
|
-
{ "fchown", 207 },
|
88
|
-
{ "fchown32", __PNR_fchown32 },
|
89
|
-
{ "fchownat", 291 },
|
90
|
-
{ "fcntl", 55 },
|
91
|
-
{ "fcntl64", __PNR_fcntl64 },
|
92
|
-
{ "fdatasync", 148 },
|
93
|
-
{ "fgetxattr", 229 },
|
94
|
-
{ "finit_module", 344 },
|
95
|
-
{ "flistxattr", 232 },
|
96
|
-
{ "flock", 143 },
|
97
|
-
{ "fork", 2 },
|
98
|
-
{ "fremovexattr", 235 },
|
99
|
-
{ "fsconfig", 431 },
|
100
|
-
{ "fsetxattr", 226 },
|
101
|
-
{ "fsmount", 432 },
|
102
|
-
{ "fsopen", 430 },
|
103
|
-
{ "fspick", 433 },
|
104
|
-
{ "fstat", 108 },
|
105
|
-
{ "fstat64", __PNR_fstat64 },
|
106
|
-
{ "fstatat64", __PNR_fstatat64 },
|
107
|
-
{ "fstatfs", 100 },
|
108
|
-
{ "fstatfs64", 266 },
|
109
|
-
{ "fsync", 118 },
|
110
|
-
{ "ftime", __PNR_ftime },
|
111
|
-
{ "ftruncate", 93 },
|
112
|
-
{ "ftruncate64", __PNR_ftruncate64 },
|
113
|
-
{ "futex", 238 },
|
114
|
-
{ "futex_time64", __PNR_futex_time64 },
|
115
|
-
{ "futimesat", 292 },
|
116
|
-
{ "get_kernel_syms", 130 },
|
117
|
-
{ "get_mempolicy", 269 },
|
118
|
-
{ "get_robust_list", 305 },
|
119
|
-
{ "get_thread_area", __PNR_get_thread_area },
|
120
|
-
{ "get_tls", __PNR_get_tls },
|
121
|
-
{ "getcpu", 311 },
|
122
|
-
{ "getcwd", 183 },
|
123
|
-
{ "getdents", 141 },
|
124
|
-
{ "getdents64", 220 },
|
125
|
-
{ "getegid", 202 },
|
126
|
-
{ "getegid32", __PNR_getegid32 },
|
127
|
-
{ "geteuid", 201 },
|
128
|
-
{ "geteuid32", __PNR_geteuid32 },
|
129
|
-
{ "getgid", 200 },
|
130
|
-
{ "getgid32", __PNR_getgid32 },
|
131
|
-
{ "getgroups", 205 },
|
132
|
-
{ "getgroups32", __PNR_getgroups32 },
|
133
|
-
{ "getitimer", 105 },
|
134
|
-
{ "getpeername", 368 },
|
135
|
-
{ "getpgid", 132 },
|
136
|
-
{ "getpgrp", 65 },
|
137
|
-
{ "getpid", 20 },
|
138
|
-
{ "getpmsg", 188 },
|
139
|
-
{ "getppid", 64 },
|
140
|
-
{ "getpriority", 96 },
|
141
|
-
{ "getrandom", 349 },
|
142
|
-
{ "getresgid", 211 },
|
143
|
-
{ "getresgid32", __PNR_getresgid32 },
|
144
|
-
{ "getresuid", 209 },
|
145
|
-
{ "getresuid32", __PNR_getresuid32 },
|
146
|
-
{ "getrlimit", 191 },
|
147
|
-
{ "getrusage", 77 },
|
148
|
-
{ "getsid", 147 },
|
149
|
-
{ "getsockname", 367 },
|
150
|
-
{ "getsockopt", 365 },
|
151
|
-
{ "gettid", 236 },
|
152
|
-
{ "gettimeofday", 78 },
|
153
|
-
{ "getuid", 199 },
|
154
|
-
{ "getuid32", __PNR_getuid32 },
|
155
|
-
{ "getxattr", 227 },
|
156
|
-
{ "gtty", __PNR_gtty },
|
157
|
-
{ "idle", 112 },
|
158
|
-
{ "init_module", 128 },
|
159
|
-
{ "inotify_add_watch", 285 },
|
160
|
-
{ "inotify_init", 284 },
|
161
|
-
{ "inotify_init1", 324 },
|
162
|
-
{ "inotify_rm_watch", 286 },
|
163
|
-
{ "io_cancel", 247 },
|
164
|
-
{ "io_destroy", 244 },
|
165
|
-
{ "io_getevents", 245 },
|
166
|
-
{ "io_pgetevents", 382 },
|
167
|
-
{ "io_pgetevents_time64", __PNR_io_pgetevents_time64 },
|
168
|
-
{ "io_setup", 243 },
|
169
|
-
{ "io_submit", 246 },
|
170
|
-
{ "io_uring_setup", 425 },
|
171
|
-
{ "io_uring_enter", 426 },
|
172
|
-
{ "io_uring_register", 427 },
|
173
|
-
{ "ioctl", 54 },
|
174
|
-
{ "ioperm", __PNR_ioperm},
|
175
|
-
{ "iopl", __PNR_iopl },
|
176
|
-
{ "ioprio_get", 283 },
|
177
|
-
{ "ioprio_set", 282 },
|
178
|
-
{ "ipc", 117 },
|
179
|
-
{ "kcmp", 343 },
|
180
|
-
{ "kexec_file_load", 381 },
|
181
|
-
{ "kexec_load", 277 },
|
182
|
-
{ "keyctl", 280 },
|
183
|
-
{ "kill", 37 },
|
184
|
-
{ "lchown", 198 },
|
185
|
-
{ "lchown32", __PNR_lchown32 },
|
186
|
-
{ "lgetxattr", 228 },
|
187
|
-
{ "link", 9 },
|
188
|
-
{ "linkat", 296 },
|
189
|
-
{ "listen", 363 },
|
190
|
-
{ "listxattr", 230 },
|
191
|
-
{ "llistxattr", 231 },
|
192
|
-
{ "lock", __PNR_lock },
|
193
|
-
{ "lookup_dcookie", 110 },
|
194
|
-
{ "lremovexattr", 234 },
|
195
|
-
{ "lseek", 19 },
|
196
|
-
{ "lsetxattr", 225 },
|
197
|
-
{ "lstat", 107 },
|
198
|
-
{ "lstat64", __PNR_lstat64 },
|
199
|
-
{ "madvise", 219 },
|
200
|
-
{ "mbind", 268 },
|
201
|
-
{ "membarrier", 356 },
|
202
|
-
{ "memfd_create", 350 },
|
203
|
-
{ "migrate_pages", 287 },
|
204
|
-
{ "mincore", 218 },
|
205
|
-
{ "mkdir", 39 },
|
206
|
-
{ "mkdirat", 289 },
|
207
|
-
{ "mknod", 14 },
|
208
|
-
{ "mknodat", 290 },
|
209
|
-
{ "mlock", 150 },
|
210
|
-
{ "mlock2", 374 },
|
211
|
-
{ "mlockall", 152 },
|
212
|
-
{ "mmap", 90 },
|
213
|
-
{ "mmap2", __PNR_mmap2 },
|
214
|
-
{ "modify_ldt", __PNR_modify_ldt },
|
215
|
-
{ "mount", 21 },
|
216
|
-
{ "move_mount", 429 },
|
217
|
-
{ "move_pages", 310 },
|
218
|
-
{ "mprotect", 125 },
|
219
|
-
{ "mpx", __PNR_mpx },
|
220
|
-
{ "mq_getsetattr", 276 },
|
221
|
-
{ "mq_notify", 275 },
|
222
|
-
{ "mq_open", 271 },
|
223
|
-
{ "mq_timedreceive", 274 },
|
224
|
-
{ "mq_timedreceive_time64", __PNR_mq_timedreceive_time64 },
|
225
|
-
{ "mq_timedsend", 273 },
|
226
|
-
{ "mq_timedsend_time64", __PNR_mq_timedsend_time64 },
|
227
|
-
{ "mq_unlink", 272 },
|
228
|
-
{ "mremap", 163 },
|
229
|
-
{ "msgctl", 402 },
|
230
|
-
{ "msgget", 399 },
|
231
|
-
{ "msgrcv", 401 },
|
232
|
-
{ "msgsnd", 400 },
|
233
|
-
{ "msync", 144 },
|
234
|
-
{ "multiplexer", __PNR_multiplexer },
|
235
|
-
{ "munlock", 151 },
|
236
|
-
{ "munlockall", 153 },
|
237
|
-
{ "munmap", 91 },
|
238
|
-
{ "name_to_handle_at", 335 },
|
239
|
-
{ "nanosleep", 162 },
|
240
|
-
{ "newfstatat", 293 },
|
241
|
-
{ "nfsservctl", 169 },
|
242
|
-
{ "nice", 34 },
|
243
|
-
{ "oldfstat", __PNR_oldfstat },
|
244
|
-
{ "oldlstat", __PNR_oldlstat },
|
245
|
-
{ "oldolduname", __PNR_oldolduname },
|
246
|
-
{ "oldstat", __PNR_oldstat },
|
247
|
-
{ "olduname", __PNR_olduname },
|
248
|
-
{ "oldwait4", __PNR_oldwait4 },
|
249
|
-
{ "open", 5 },
|
250
|
-
{ "open_by_handle_at", 336 },
|
251
|
-
{ "open_tree", 428 },
|
252
|
-
{ "openat", 288 },
|
253
|
-
{ "pause", 29 },
|
254
|
-
{ "pciconfig_iobase", __PNR_pciconfig_iobase },
|
255
|
-
{ "pciconfig_read", __PNR_pciconfig_read },
|
256
|
-
{ "pciconfig_write", __PNR_pciconfig_write },
|
257
|
-
{ "perf_event_open", 331 },
|
258
|
-
{ "personality", 136 },
|
259
|
-
{ "pidfd_open", 434 },
|
260
|
-
{ "pidfd_send_signal", 424 },
|
261
|
-
{ "pipe", 42 },
|
262
|
-
{ "pipe2", 325 },
|
263
|
-
{ "pivot_root", 217 },
|
264
|
-
{ "pkey_alloc", 385 },
|
265
|
-
{ "pkey_free", 386 },
|
266
|
-
{ "pkey_mprotect", 384 },
|
267
|
-
{ "poll", 168 },
|
268
|
-
{ "ppoll", 302 },
|
269
|
-
{ "ppoll_time64", __PNR_ppoll_time64 },
|
270
|
-
{ "prctl", 172 },
|
271
|
-
{ "pread64", 180 },
|
272
|
-
{ "preadv", 328 },
|
273
|
-
{ "preadv2", 376 },
|
274
|
-
{ "prlimit64", 334 },
|
275
|
-
{ "process_vm_readv", 340 },
|
276
|
-
{ "process_vm_writev", 341 },
|
277
|
-
{ "prof", __PNR_prof },
|
278
|
-
{ "profil", __PNR_profil },
|
279
|
-
{ "pselect6", 301 },
|
280
|
-
{ "pselect6_time64", __PNR_pselect6_time64 },
|
281
|
-
{ "ptrace", 26 },
|
282
|
-
{ "putpmsg", 189 },
|
283
|
-
{ "pwrite64", 181 },
|
284
|
-
{ "pwritev", 329 },
|
285
|
-
{ "pwritev2", 377 },
|
286
|
-
{ "query_module", 167 },
|
287
|
-
{ "quotactl", 131 },
|
288
|
-
{ "read", 3 },
|
289
|
-
{ "readahead", 222 },
|
290
|
-
{ "readdir", 89 },
|
291
|
-
{ "readlink", 85 },
|
292
|
-
{ "readlinkat", 298 },
|
293
|
-
{ "readv", 145 },
|
294
|
-
{ "reboot", 88 },
|
295
|
-
{ "recv", __PNR_recv },
|
296
|
-
{ "recvfrom", 371 },
|
297
|
-
{ "recvmmsg", 357 },
|
298
|
-
{ "recvmmsg_time64", __PNR_recvmmsg_time64 },
|
299
|
-
{ "recvmsg", 372 },
|
300
|
-
{ "remap_file_pages", 267 },
|
301
|
-
{ "removexattr", 233 },
|
302
|
-
{ "rename", 38 },
|
303
|
-
{ "renameat", 295 },
|
304
|
-
{ "renameat2", 347 },
|
305
|
-
{ "request_key", 279 },
|
306
|
-
{ "restart_syscall", 7 },
|
307
|
-
{ "rmdir", 40 },
|
308
|
-
{ "rseq", 383 },
|
309
|
-
{ "rt_sigaction", 174 },
|
310
|
-
{ "rt_sigpending", 176 },
|
311
|
-
{ "rt_sigprocmask", 175 },
|
312
|
-
{ "rt_sigqueueinfo", 178 },
|
313
|
-
{ "rt_sigreturn", 173 },
|
314
|
-
{ "rt_sigsuspend", 179 },
|
315
|
-
{ "rt_sigtimedwait", 177 },
|
316
|
-
{ "rt_sigtimedwait_time64", __PNR_rt_sigtimedwait_time64 },
|
317
|
-
{ "rt_tgsigqueueinfo", 330 },
|
318
|
-
{ "rtas", __PNR_rtas },
|
319
|
-
{ "s390_guarded_storage", 378 },
|
320
|
-
{ "s390_pci_mmio_read", 353 },
|
321
|
-
{ "s390_pci_mmio_write", 352 },
|
322
|
-
{ "s390_runtime_instr", 342 },
|
323
|
-
{ "s390_sthyi", 380 },
|
324
|
-
{ "sched_get_priority_max", 159 },
|
325
|
-
{ "sched_get_priority_min", 160 },
|
326
|
-
{ "sched_getaffinity", 240 },
|
327
|
-
{ "sched_getattr", 346 },
|
328
|
-
{ "sched_getparam", 155 },
|
329
|
-
{ "sched_getscheduler", 157 },
|
330
|
-
{ "sched_rr_get_interval", 161 },
|
331
|
-
{ "sched_rr_get_interval_time64", __PNR_sched_rr_get_interval_time64 },
|
332
|
-
{ "sched_setaffinity", 239 },
|
333
|
-
{ "sched_setattr", 345 },
|
334
|
-
{ "sched_setparam", 154 },
|
335
|
-
{ "sched_setscheduler", 156 },
|
336
|
-
{ "sched_yield", 158 },
|
337
|
-
{ "seccomp", 348 },
|
338
|
-
{ "security", __PNR_security },
|
339
|
-
{ "select", 142 },
|
340
|
-
{ "semctl", 394 },
|
341
|
-
{ "semget", 393 },
|
342
|
-
{ "semop", __PNR_semop },
|
343
|
-
{ "semtimedop", 392 },
|
344
|
-
{ "semtimedop_time64", __PNR_semtimedop_time64 },
|
345
|
-
{ "send", __PNR_send },
|
346
|
-
{ "sendfile", 187 },
|
347
|
-
{ "sendfile64", __PNR_sendfile64 },
|
348
|
-
{ "sendmmsg", 358 },
|
349
|
-
{ "sendmsg", 370 },
|
350
|
-
{ "sendto", 369 },
|
351
|
-
{ "set_mempolicy", 270 },
|
352
|
-
{ "set_robust_list", 304 },
|
353
|
-
{ "set_thread_area", __PNR_set_thread_area },
|
354
|
-
{ "set_tid_address", 252 },
|
355
|
-
{ "set_tls", __PNR_set_tls },
|
356
|
-
{ "setdomainname", 121 },
|
357
|
-
{ "setfsgid", 216 },
|
358
|
-
{ "setfsgid32", __PNR_setfsgid32 },
|
359
|
-
{ "setfsuid", 215 },
|
360
|
-
{ "setfsuid32", __PNR_setfsuid32 },
|
361
|
-
{ "setgid", 214 },
|
362
|
-
{ "setgid32", __PNR_setgid32 },
|
363
|
-
{ "setgroups", 206 },
|
364
|
-
{ "setgroups32", __PNR_setgroups32 },
|
365
|
-
{ "sethostname", 74 },
|
366
|
-
{ "setitimer", 104 },
|
367
|
-
{ "setns", 339 },
|
368
|
-
{ "setpgid", 57 },
|
369
|
-
{ "setpriority", 97 },
|
370
|
-
{ "setregid", 204 },
|
371
|
-
{ "setregid32", __PNR_setregid32 },
|
372
|
-
{ "setresgid", 210 },
|
373
|
-
{ "setresgid32", __PNR_setresgid32 },
|
374
|
-
{ "setresuid", 208 },
|
375
|
-
{ "setresuid32", __PNR_setresuid32 },
|
376
|
-
{ "setreuid", 203 },
|
377
|
-
{ "setreuid32", __PNR_setreuid32 },
|
378
|
-
{ "setrlimit", 75 },
|
379
|
-
{ "setsid", 66 },
|
380
|
-
{ "setsockopt", 366 },
|
381
|
-
{ "settimeofday", 79 },
|
382
|
-
{ "setuid", 213 },
|
383
|
-
{ "setuid32", __PNR_setuid32 },
|
384
|
-
{ "setxattr", 224 },
|
385
|
-
{ "sgetmask", __PNR_sgetmask },
|
386
|
-
{ "shmat", 397 },
|
387
|
-
{ "shmctl", 396 },
|
388
|
-
{ "shmdt", 398 },
|
389
|
-
{ "shmget", 395 },
|
390
|
-
{ "shutdown", 373 },
|
391
|
-
{ "sigaction", 67 },
|
392
|
-
{ "sigaltstack", 186 },
|
393
|
-
{ "signal", 48 },
|
394
|
-
{ "signalfd", 316 },
|
395
|
-
{ "signalfd4", 322 },
|
396
|
-
{ "sigpending", 73 },
|
397
|
-
{ "sigprocmask", 126 },
|
398
|
-
{ "sigreturn", 119 },
|
399
|
-
{ "sigsuspend", 72 },
|
400
|
-
{ "socket", 359 },
|
401
|
-
{ "socketcall", 102 },
|
402
|
-
{ "socketpair", 360 },
|
403
|
-
{ "splice", 306 },
|
404
|
-
{ "spu_create", __PNR_spu_create },
|
405
|
-
{ "spu_run", __PNR_spu_run },
|
406
|
-
{ "ssetmask", __PNR_ssetmask },
|
407
|
-
{ "stat", 106 },
|
408
|
-
{ "stat64", __PNR_stat64 },
|
409
|
-
{ "statfs", 99 },
|
410
|
-
{ "statfs64", 265 },
|
411
|
-
{ "statx", 379 },
|
412
|
-
{ "stime", __PNR_stime },
|
413
|
-
{ "stty", __PNR_stty },
|
414
|
-
{ "subpage_prot", __PNR_subpage_prot },
|
415
|
-
{ "swapcontext", __PNR_swapcontext },
|
416
|
-
{ "swapoff", 115 },
|
417
|
-
{ "swapon", 87 },
|
418
|
-
{ "switch_endian", __PNR_switch_endian },
|
419
|
-
{ "symlink", 83 },
|
420
|
-
{ "symlinkat", 297 },
|
421
|
-
{ "sync", 36 },
|
422
|
-
{ "sync_file_range", 307 },
|
423
|
-
{ "sync_file_range2", __PNR_sync_file_range2 },
|
424
|
-
{ "syncfs", 338 },
|
425
|
-
{ "syscall", __PNR_syscall },
|
426
|
-
{ "sys_debug_setcontext", __PNR_sys_debug_setcontext },
|
427
|
-
{ "sysfs", 135 },
|
428
|
-
{ "sysinfo", 116 },
|
429
|
-
{ "syslog", 103 },
|
430
|
-
{ "sysmips", __PNR_sysmips },
|
431
|
-
{ "tee", 308 },
|
432
|
-
{ "tgkill", 241 },
|
433
|
-
{ "time", __PNR_time },
|
434
|
-
{ "timer_create", 254 },
|
435
|
-
{ "timer_delete", 258 },
|
436
|
-
{ "timer_getoverrun", 257 },
|
437
|
-
{ "timer_gettime", 256 },
|
438
|
-
{ "timer_gettime64", __PNR_timer_gettime64 },
|
439
|
-
{ "timer_settime", 255 },
|
440
|
-
{ "timer_settime64", __PNR_timer_settime64 },
|
441
|
-
{ "timerfd", 317 },
|
442
|
-
{ "timerfd_create", 319 },
|
443
|
-
{ "timerfd_gettime", 321 },
|
444
|
-
{ "timerfd_gettime64", __PNR_timerfd_gettime64 },
|
445
|
-
{ "timerfd_settime", 320 },
|
446
|
-
{ "timerfd_settime64", __PNR_timerfd_settime64 },
|
447
|
-
{ "times", 43 },
|
448
|
-
{ "tkill", 237 },
|
449
|
-
{ "truncate", 92 },
|
450
|
-
{ "truncate64", __PNR_truncate64 },
|
451
|
-
{ "tuxcall", __PNR_tuxcall },
|
452
|
-
{ "ugetrlimit", __PNR_ugetrlimit },
|
453
|
-
{ "ulimit", __PNR_ulimit },
|
454
|
-
{ "umask", 60 },
|
455
|
-
{ "umount", 22 },
|
456
|
-
{ "umount2", 52 },
|
457
|
-
{ "uname", 122 },
|
458
|
-
{ "unlink", 10 },
|
459
|
-
{ "unlinkat", 294 },
|
460
|
-
{ "unshare", 303 },
|
461
|
-
{ "uselib", 86 },
|
462
|
-
{ "userfaultfd", 355 },
|
463
|
-
{ "usr26", __PNR_usr26 },
|
464
|
-
{ "usr32", __PNR_usr32 },
|
465
|
-
{ "ustat", 62 },
|
466
|
-
{ "utime", 30 },
|
467
|
-
{ "utimensat", 315 },
|
468
|
-
{ "utimensat_time64", __PNR_utimensat_time64 },
|
469
|
-
{ "utimes", 313 },
|
470
|
-
{ "vfork", 190 },
|
471
|
-
{ "vhangup", 111 },
|
472
|
-
{ "vm86", __PNR_vm86 },
|
473
|
-
{ "vm86old", __PNR_vm86old },
|
474
|
-
{ "vmsplice", 309 },
|
475
|
-
{ "vserver", __PNR_vserver },
|
476
|
-
{ "wait4", 114 },
|
477
|
-
{ "waitid", 281 },
|
478
|
-
{ "waitpid", __PNR_waitpid },
|
479
|
-
{ "write", 4 },
|
480
|
-
{ "writev", 146 },
|
481
|
-
{ NULL, __NR_SCMP_ERROR },
|
482
|
-
};
|
483
|
-
|
484
|
-
/**
|
485
|
-
* Resolve a syscall name to a number
|
486
|
-
* @param name the syscall name
|
487
|
-
*
|
488
|
-
* Resolve the given syscall name to the syscall number using the syscall table.
|
489
|
-
* Returns the syscall number on success, including negative pseudo syscall
|
490
|
-
* numbers; returns __NR_SCMP_ERROR on failure.
|
491
|
-
*
|
492
|
-
*/
|
493
|
-
int s390x_syscall_resolve_name(const char *name)
|
494
|
-
{
|
495
|
-
unsigned int iter;
|
496
|
-
const struct arch_syscall_def *table = s390x_syscall_table;
|
497
|
-
|
498
|
-
/* XXX - plenty of room for future improvement here */
|
499
|
-
|
500
|
-
if (strcmp(name, "accept") == 0)
|
501
|
-
return __PNR_accept;
|
502
|
-
if (strcmp(name, "accept4") == 0)
|
503
|
-
return __PNR_accept4;
|
504
|
-
else if (strcmp(name, "bind") == 0)
|
505
|
-
return __PNR_bind;
|
506
|
-
else if (strcmp(name, "connect") == 0)
|
507
|
-
return __PNR_connect;
|
508
|
-
else if (strcmp(name, "getpeername") == 0)
|
509
|
-
return __PNR_getpeername;
|
510
|
-
else if (strcmp(name, "getsockname") == 0)
|
511
|
-
return __PNR_getsockname;
|
512
|
-
else if (strcmp(name, "getsockopt") == 0)
|
513
|
-
return __PNR_getsockopt;
|
514
|
-
else if (strcmp(name, "listen") == 0)
|
515
|
-
return __PNR_listen;
|
516
|
-
else if (strcmp(name, "recv") == 0)
|
517
|
-
return __PNR_recv;
|
518
|
-
else if (strcmp(name, "recvfrom") == 0)
|
519
|
-
return __PNR_recvfrom;
|
520
|
-
else if (strcmp(name, "recvmsg") == 0)
|
521
|
-
return __PNR_recvmsg;
|
522
|
-
else if (strcmp(name, "recvmmsg") == 0)
|
523
|
-
return __PNR_recvmmsg;
|
524
|
-
else if (strcmp(name, "send") == 0)
|
525
|
-
return __PNR_send;
|
526
|
-
else if (strcmp(name, "sendmsg") == 0)
|
527
|
-
return __PNR_sendmsg;
|
528
|
-
else if (strcmp(name, "sendmmsg") == 0)
|
529
|
-
return __PNR_sendmmsg;
|
530
|
-
else if (strcmp(name, "sendto") == 0)
|
531
|
-
return __PNR_sendto;
|
532
|
-
else if (strcmp(name, "setsockopt") == 0)
|
533
|
-
return __PNR_setsockopt;
|
534
|
-
else if (strcmp(name, "shmat") == 0)
|
535
|
-
return __PNR_shmat;
|
536
|
-
else if (strcmp(name, "shmdt") == 0)
|
537
|
-
return __PNR_shmdt;
|
538
|
-
else if (strcmp(name, "shmget") == 0)
|
539
|
-
return __PNR_shmget;
|
540
|
-
else if (strcmp(name, "shmctl") == 0)
|
541
|
-
return __PNR_shmctl;
|
542
|
-
else if (strcmp(name, "shutdown") == 0)
|
543
|
-
return __PNR_shutdown;
|
544
|
-
else if (strcmp(name, "socket") == 0)
|
545
|
-
return __PNR_socket;
|
546
|
-
else if (strcmp(name, "socketpair") == 0)
|
547
|
-
return __PNR_socketpair;
|
548
|
-
|
549
|
-
for (iter = 0; table[iter].name != NULL; iter++) {
|
550
|
-
if (strcmp(name, table[iter].name) == 0)
|
551
|
-
return table[iter].num;
|
552
|
-
}
|
553
|
-
|
554
|
-
return __NR_SCMP_ERROR;
|
555
|
-
}
|
556
|
-
|
557
|
-
/**
|
558
|
-
* Resolve a syscall number to a name
|
559
|
-
* @param num the syscall number
|
560
|
-
*
|
561
|
-
* Resolve the given syscall number to the syscall name using the syscall table.
|
562
|
-
* Returns a pointer to the syscall name string on success, including pseudo
|
563
|
-
* syscall names; returns NULL on failure.
|
564
|
-
*
|
565
|
-
*/
|
566
|
-
const char *s390x_syscall_resolve_num(int num)
|
567
|
-
{
|
568
|
-
unsigned int iter;
|
569
|
-
const struct arch_syscall_def *table = s390x_syscall_table;
|
570
|
-
|
571
|
-
/* XXX - plenty of room for future improvement here */
|
572
|
-
|
573
|
-
if (num == __PNR_accept)
|
574
|
-
return "accept";
|
575
|
-
else if (num == __PNR_accept4)
|
576
|
-
return "accept4";
|
577
|
-
else if (num == __PNR_bind)
|
578
|
-
return "bind";
|
579
|
-
else if (num == __PNR_connect)
|
580
|
-
return "connect";
|
581
|
-
else if (num == __PNR_getpeername)
|
582
|
-
return "getpeername";
|
583
|
-
else if (num == __PNR_getsockname)
|
584
|
-
return "getsockname";
|
585
|
-
else if (num == __PNR_getsockopt)
|
586
|
-
return "getsockopt";
|
587
|
-
else if (num == __PNR_listen)
|
588
|
-
return "listen";
|
589
|
-
else if (num == __PNR_recv)
|
590
|
-
return "recv";
|
591
|
-
else if (num == __PNR_recvfrom)
|
592
|
-
return "recvfrom";
|
593
|
-
else if (num == __PNR_recvmsg)
|
594
|
-
return "recvmsg";
|
595
|
-
else if (num == __PNR_recvmmsg)
|
596
|
-
return "recvmmsg";
|
597
|
-
else if (num == __PNR_send)
|
598
|
-
return "send";
|
599
|
-
else if (num == __PNR_sendmsg)
|
600
|
-
return "sendmsg";
|
601
|
-
else if (num == __PNR_sendmmsg)
|
602
|
-
return "sendmmsg";
|
603
|
-
else if (num == __PNR_sendto)
|
604
|
-
return "sendto";
|
605
|
-
else if (num == __PNR_setsockopt)
|
606
|
-
return "setsockopt";
|
607
|
-
else if (num == __PNR_shmat)
|
608
|
-
return "shmat";
|
609
|
-
else if (num == __PNR_shmdt)
|
610
|
-
return "shmdt";
|
611
|
-
else if (num == __PNR_shmget)
|
612
|
-
return "shmget";
|
613
|
-
else if (num == __PNR_shmctl)
|
614
|
-
return "shmctl";
|
615
|
-
else if (num == __PNR_shutdown)
|
616
|
-
return "shutdown";
|
617
|
-
else if (num == __PNR_socket)
|
618
|
-
return "socket";
|
619
|
-
else if (num == __PNR_socketpair)
|
620
|
-
return "socketpair";
|
621
|
-
|
622
|
-
for (iter = 0; table[iter].num != __NR_SCMP_ERROR; iter++) {
|
623
|
-
if (num == table[iter].num)
|
624
|
-
return table[iter].name;
|
625
|
-
}
|
626
|
-
|
627
|
-
return NULL;
|
628
|
-
}
|
629
|
-
|
630
|
-
/**
|
631
|
-
* Iterate through the syscall table and return the syscall mapping
|
632
|
-
* @param spot the offset into the syscall table
|
633
|
-
*
|
634
|
-
* Return the syscall mapping at position @spot or NULL on failure. This
|
635
|
-
* function should only ever be used internally by libseccomp.
|
636
|
-
*
|
637
|
-
*/
|
638
|
-
const struct arch_syscall_def *s390x_syscall_iterate(unsigned int spot)
|
639
|
-
{
|
640
|
-
/* XXX - no safety checks here */
|
641
|
-
return &s390x_syscall_table[spot];
|
642
|
-
}
|