diff options
Diffstat (limited to 'src')
28 files changed, 1327 insertions, 5387 deletions
diff --git a/src/bash_completion/firejail.bash_completion b/src/bash_completion/firejail.bash_completion index 09798f505..0a1b34d7d 100644 --- a/src/bash_completion/firejail.bash_completion +++ b/src/bash_completion/firejail.bash_completion | |||
@@ -16,7 +16,7 @@ _firejail() | |||
16 | _init_completion -s || return | 16 | _init_completion -s || return |
17 | 17 | ||
18 | case $prev in | 18 | case $prev in |
19 | --help|--version|-debug-caps|--debug-syscalls|--list|--tree|--top|--join|--shutdown) | 19 | --help|--version|-debug-caps|--debug-syscalls|--debug-syscalls32|--list|--tree|--top|--join|--shutdown) |
20 | return 0 | 20 | return 0 |
21 | ;; | 21 | ;; |
22 | --profile) | 22 | --profile) |
diff --git a/src/firejail/Makefile.in b/src/firejail/Makefile.in index e2d02788d..b9bf13b9c 100644 --- a/src/firejail/Makefile.in +++ b/src/firejail/Makefile.in | |||
@@ -2,11 +2,11 @@ all: firejail | |||
2 | 2 | ||
3 | include ../common.mk | 3 | include ../common.mk |
4 | 4 | ||
5 | %.o : %.c $(H_FILE_LIST) ../include/rundefs.h ../include/common.h ../include/ldd_utils.h ../include/euid_common.h ../include/pid.h ../include/seccomp.h ../include/syscall.h ../include/firejail_user.h | 5 | %.o : %.c $(H_FILE_LIST) ../include/rundefs.h ../include/common.h ../include/ldd_utils.h ../include/euid_common.h ../include/pid.h ../include/seccomp.h ../include/syscall_i386.h ../include/syscall_x86_64.h ../include/firejail_user.h |
6 | $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ | 6 | $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ |
7 | 7 | ||
8 | firejail: $(OBJS) ../lib/libnetlink.o ../lib/common.o ../lib/ldd_utils.o ../lib/firejail_user.o | 8 | firejail: $(OBJS) ../lib/libnetlink.o ../lib/common.o ../lib/ldd_utils.o ../lib/firejail_user.o ../lib/errno.o ../lib/syscall.o |
9 | $(CC) $(LDFLAGS) -o $@ $(OBJS) ../lib/common.o ../lib/ldd_utils.o ../lib/firejail_user.o $(LIBS) $(EXTRA_LDFLAGS) | 9 | $(CC) $(LDFLAGS) -o $@ $(OBJS) ../lib/common.o ../lib/ldd_utils.o ../lib/firejail_user.o ../lib/errno.o ../lib/syscall.o $(LIBS) $(EXTRA_LDFLAGS) |
10 | 10 | ||
11 | clean:; rm -fr *.o firejail *.gcov *.gcda *.gcno *.plist | 11 | clean:; rm -fr *.o firejail *.gcov *.gcda *.gcno *.plist |
12 | 12 | ||
diff --git a/src/firejail/firejail.h b/src/firejail/firejail.h index 7391a8994..dae2dfd7b 100644 --- a/src/firejail/firejail.h +++ b/src/firejail/firejail.h | |||
@@ -182,9 +182,9 @@ typedef struct config_t { | |||
182 | char *dns4; | 182 | char *dns4; |
183 | 183 | ||
184 | // seccomp | 184 | // seccomp |
185 | char *seccomp_list;// optional seccomp list on top of default filter | 185 | char *seccomp_list, *seccomp_list32; // optional seccomp list on top of default filter |
186 | char *seccomp_list_drop; // seccomp drop list | 186 | char *seccomp_list_drop, *seccomp_list_drop32; // seccomp drop list |
187 | char *seccomp_list_keep; // seccomp keep list | 187 | char *seccomp_list_keep, *seccomp_list_keep32; // seccomp keep list |
188 | char *protocol; // protocol list | 188 | char *protocol; // protocol list |
189 | 189 | ||
190 | // rlimits | 190 | // rlimits |
@@ -270,6 +270,7 @@ extern int arg_overlay_keep; // place overlay diff in a known directory | |||
270 | extern int arg_overlay_reuse; // allow the reuse of overlays | 270 | extern int arg_overlay_reuse; // allow the reuse of overlays |
271 | 271 | ||
272 | extern int arg_seccomp; // enable default seccomp filter | 272 | extern int arg_seccomp; // enable default seccomp filter |
273 | extern int arg_seccomp32; // enable default seccomp filter for 32 bit arch | ||
273 | extern int arg_seccomp_postexec; // need postexec ld.preload library? | 274 | extern int arg_seccomp_postexec; // need postexec ld.preload library? |
274 | extern int arg_seccomp_block_secondary; // block any secondary architectures | 275 | extern int arg_seccomp_block_secondary; // block any secondary architectures |
275 | 276 | ||
@@ -568,8 +569,8 @@ void fs_private_home_list(void); | |||
568 | char *seccomp_check_list(const char *str); | 569 | char *seccomp_check_list(const char *str); |
569 | int seccomp_install_filters(void); | 570 | int seccomp_install_filters(void); |
570 | int seccomp_load(const char *fname); | 571 | int seccomp_load(const char *fname); |
571 | int seccomp_filter_drop(void); | 572 | int seccomp_filter_drop(bool native); |
572 | int seccomp_filter_keep(void); | 573 | int seccomp_filter_keep(bool native); |
573 | void seccomp_print_filter(pid_t pid); | 574 | void seccomp_print_filter(pid_t pid); |
574 | 575 | ||
575 | // caps.c | 576 | // caps.c |
diff --git a/src/firejail/main.c b/src/firejail/main.c index 78717ab41..922ba2edb 100644 --- a/src/firejail/main.c +++ b/src/firejail/main.c | |||
@@ -20,6 +20,7 @@ | |||
20 | #include "firejail.h" | 20 | #include "firejail.h" |
21 | #include "../include/pid.h" | 21 | #include "../include/pid.h" |
22 | #include "../include/firejail_user.h" | 22 | #include "../include/firejail_user.h" |
23 | #include "../include/syscall.h" | ||
23 | #define _GNU_SOURCE | 24 | #define _GNU_SOURCE |
24 | #include <sys/utsname.h> | 25 | #include <sys/utsname.h> |
25 | #include <sched.h> | 26 | #include <sched.h> |
@@ -72,6 +73,7 @@ int arg_overlay_keep = 0; // place overlay diff in a known directory | |||
72 | int arg_overlay_reuse = 0; // allow the reuse of overlays | 73 | int arg_overlay_reuse = 0; // allow the reuse of overlays |
73 | 74 | ||
74 | int arg_seccomp = 0; // enable default seccomp filter | 75 | int arg_seccomp = 0; // enable default seccomp filter |
76 | int arg_seccomp32 = 0; // enable default seccomp filter for 32 bit arch | ||
75 | int arg_seccomp_postexec = 0; // need postexec ld.preload library? | 77 | int arg_seccomp_postexec = 0; // need postexec ld.preload library? |
76 | int arg_seccomp_block_secondary = 0; // block any secondary architectures | 78 | int arg_seccomp_block_secondary = 0; // block any secondary architectures |
77 | 79 | ||
@@ -548,6 +550,14 @@ static void run_cmd_and_exit(int i, int argc, char **argv) { | |||
548 | else | 550 | else |
549 | exit_err_feature("seccomp"); | 551 | exit_err_feature("seccomp"); |
550 | } | 552 | } |
553 | else if (strcmp(argv[i], "--debug-syscalls32") == 0) { | ||
554 | if (checkcfg(CFG_SECCOMP)) { | ||
555 | int rv = sbox_run(SBOX_USER | SBOX_CAPS_NONE | SBOX_SECCOMP, 2, PATH_FSECCOMP_MAIN, "debug-syscalls32"); | ||
556 | exit(rv); | ||
557 | } | ||
558 | else | ||
559 | exit_err_feature("seccomp"); | ||
560 | } | ||
551 | else if (strcmp(argv[i], "--debug-errnos") == 0) { | 561 | else if (strcmp(argv[i], "--debug-errnos") == 0) { |
552 | if (checkcfg(CFG_SECCOMP)) { | 562 | if (checkcfg(CFG_SECCOMP)) { |
553 | int rv = sbox_run(SBOX_USER | SBOX_CAPS_NONE | SBOX_SECCOMP, 2, PATH_FSECCOMP_MAIN, "debug-errnos"); | 563 | int rv = sbox_run(SBOX_USER | SBOX_CAPS_NONE | SBOX_SECCOMP, 2, PATH_FSECCOMP_MAIN, "debug-errnos"); |
@@ -956,6 +966,18 @@ static void run_builder(int argc, char **argv) { | |||
956 | exit(1); | 966 | exit(1); |
957 | } | 967 | } |
958 | 968 | ||
969 | void filter_add_errno(int fd, int syscall, int arg, void *ptrarg, bool native) {} | ||
970 | |||
971 | static int check_postexec(const char *list) { | ||
972 | char *prelist, *postlist; | ||
973 | |||
974 | if (list) { | ||
975 | syscalls_in_list(list, "@default-keep", -1, &prelist, &postlist, true); | ||
976 | if (postlist) | ||
977 | return 1; | ||
978 | } | ||
979 | return 0; | ||
980 | } | ||
959 | 981 | ||
960 | //******************************************* | 982 | //******************************************* |
961 | // Main program | 983 | // Main program |
@@ -1263,6 +1285,18 @@ int main(int argc, char **argv) { | |||
1263 | else | 1285 | else |
1264 | exit_err_feature("seccomp"); | 1286 | exit_err_feature("seccomp"); |
1265 | } | 1287 | } |
1288 | else if (strncmp(argv[i], "--seccomp.32=", 13) == 0) { | ||
1289 | if (checkcfg(CFG_SECCOMP)) { | ||
1290 | if (arg_seccomp32) { | ||
1291 | fprintf(stderr, "Error: seccomp.32 already enabled\n"); | ||
1292 | exit(1); | ||
1293 | } | ||
1294 | arg_seccomp32 = 1; | ||
1295 | cfg.seccomp_list32 = seccomp_check_list(argv[i] + 13); | ||
1296 | } | ||
1297 | else | ||
1298 | exit_err_feature("seccomp"); | ||
1299 | } | ||
1266 | else if (strncmp(argv[i], "--seccomp.drop=", 15) == 0) { | 1300 | else if (strncmp(argv[i], "--seccomp.drop=", 15) == 0) { |
1267 | if (checkcfg(CFG_SECCOMP)) { | 1301 | if (checkcfg(CFG_SECCOMP)) { |
1268 | if (arg_seccomp) { | 1302 | if (arg_seccomp) { |
@@ -1275,6 +1309,18 @@ int main(int argc, char **argv) { | |||
1275 | else | 1309 | else |
1276 | exit_err_feature("seccomp"); | 1310 | exit_err_feature("seccomp"); |
1277 | } | 1311 | } |
1312 | else if (strncmp(argv[i], "--seccomp.32.drop=", 18) == 0) { | ||
1313 | if (checkcfg(CFG_SECCOMP)) { | ||
1314 | if (arg_seccomp32) { | ||
1315 | fprintf(stderr, "Error: seccomp.32 already enabled\n"); | ||
1316 | exit(1); | ||
1317 | } | ||
1318 | arg_seccomp32 = 1; | ||
1319 | cfg.seccomp_list_drop32 = seccomp_check_list(argv[i] + 18); | ||
1320 | } | ||
1321 | else | ||
1322 | exit_err_feature("seccomp"); | ||
1323 | } | ||
1278 | else if (strncmp(argv[i], "--seccomp.keep=", 15) == 0) { | 1324 | else if (strncmp(argv[i], "--seccomp.keep=", 15) == 0) { |
1279 | if (checkcfg(CFG_SECCOMP)) { | 1325 | if (checkcfg(CFG_SECCOMP)) { |
1280 | if (arg_seccomp) { | 1326 | if (arg_seccomp) { |
@@ -1287,8 +1333,24 @@ int main(int argc, char **argv) { | |||
1287 | else | 1333 | else |
1288 | exit_err_feature("seccomp"); | 1334 | exit_err_feature("seccomp"); |
1289 | } | 1335 | } |
1336 | else if (strncmp(argv[i], "--seccomp.32.keep=", 18) == 0) { | ||
1337 | if (checkcfg(CFG_SECCOMP)) { | ||
1338 | if (arg_seccomp32) { | ||
1339 | fprintf(stderr, "Error: seccomp.32 already enabled\n"); | ||
1340 | exit(1); | ||
1341 | } | ||
1342 | arg_seccomp32 = 1; | ||
1343 | cfg.seccomp_list_keep32 = seccomp_check_list(argv[i] + 18); | ||
1344 | } | ||
1345 | else | ||
1346 | exit_err_feature("seccomp"); | ||
1347 | } | ||
1290 | else if (strcmp(argv[i], "--seccomp.block-secondary") == 0) { | 1348 | else if (strcmp(argv[i], "--seccomp.block-secondary") == 0) { |
1291 | if (checkcfg(CFG_SECCOMP)) { | 1349 | if (checkcfg(CFG_SECCOMP)) { |
1350 | if (arg_seccomp32) { | ||
1351 | fprintf(stderr, "Error: seccomp.32 conflicts with block-secondary\n"); | ||
1352 | exit(1); | ||
1353 | } | ||
1292 | arg_seccomp_block_secondary = 1; | 1354 | arg_seccomp_block_secondary = 1; |
1293 | } | 1355 | } |
1294 | else | 1356 | else |
@@ -2542,6 +2604,14 @@ int main(int argc, char **argv) { | |||
2542 | // check network configuration options - it will exit if anything went wrong | 2604 | // check network configuration options - it will exit if anything went wrong |
2543 | net_check_cfg(); | 2605 | net_check_cfg(); |
2544 | 2606 | ||
2607 | #ifdef HAVE_SECCOMP | ||
2608 | if (arg_seccomp) | ||
2609 | arg_seccomp_postexec = check_postexec(cfg.seccomp_list) || check_postexec(cfg.seccomp_list_drop); | ||
2610 | #endif | ||
2611 | bool need_preload = arg_trace || arg_tracelog || arg_seccomp_postexec; | ||
2612 | if (need_preload && (cfg.seccomp_list32 || cfg.seccomp_list_drop32 || cfg.seccomp_list_keep32)) | ||
2613 | fwarning("preload libraries (trace, tracelog, postexecseccomp due to seccomp.drop=execve etc.) are incompatible with 32 bit filters\n"); | ||
2614 | |||
2545 | // check and assign an IP address - for macvlan it will be done again in the sandbox! | 2615 | // check and assign an IP address - for macvlan it will be done again in the sandbox! |
2546 | if (any_bridge_configured()) { | 2616 | if (any_bridge_configured()) { |
2547 | EUID_ROOT(); | 2617 | EUID_ROOT(); |
diff --git a/src/firejail/preproc.c b/src/firejail/preproc.c index 278099e55..7f23a9f6f 100644 --- a/src/firejail/preproc.c +++ b/src/firejail/preproc.c | |||
@@ -98,13 +98,16 @@ void preproc_mount_mnt_dir(void) { | |||
98 | //copy default seccomp files | 98 | //copy default seccomp files |
99 | copy_file(PATH_SECCOMP_32, RUN_SECCOMP_32, getuid(), getgid(), 0644); // root needed | 99 | copy_file(PATH_SECCOMP_32, RUN_SECCOMP_32, getuid(), getgid(), 0644); // root needed |
100 | } | 100 | } |
101 | if (arg_allow_debuggers) | 101 | if (arg_allow_debuggers) { |
102 | copy_file(PATH_SECCOMP_DEFAULT_DEBUG, RUN_SECCOMP_CFG, getuid(), getgid(), 0644); // root needed | 102 | copy_file(PATH_SECCOMP_DEFAULT_DEBUG, RUN_SECCOMP_CFG, getuid(), getgid(), 0644); // root needed |
103 | else | 103 | copy_file(PATH_SECCOMP_DEBUG_32, RUN_SECCOMP_32, getuid(), getgid(), 0644); // root needed |
104 | } else | ||
104 | copy_file(PATH_SECCOMP_DEFAULT, RUN_SECCOMP_CFG, getuid(), getgid(), 0644); // root needed | 105 | copy_file(PATH_SECCOMP_DEFAULT, RUN_SECCOMP_CFG, getuid(), getgid(), 0644); // root needed |
105 | 106 | ||
106 | if (arg_memory_deny_write_execute) | 107 | if (arg_memory_deny_write_execute) { |
107 | copy_file(PATH_SECCOMP_MDWX, RUN_SECCOMP_MDWX, getuid(), getgid(), 0644); // root needed | 108 | copy_file(PATH_SECCOMP_MDWX, RUN_SECCOMP_MDWX, getuid(), getgid(), 0644); // root needed |
109 | copy_file(PATH_SECCOMP_MDWX_32, RUN_SECCOMP_MDWX_32, getuid(), getgid(), 0644); // root needed | ||
110 | } | ||
108 | // as root, create empty RUN_SECCOMP_PROTOCOL and RUN_SECCOMP_POSTEXEC files | 111 | // as root, create empty RUN_SECCOMP_PROTOCOL and RUN_SECCOMP_POSTEXEC files |
109 | create_empty_file_as_root(RUN_SECCOMP_PROTOCOL, 0644); | 112 | create_empty_file_as_root(RUN_SECCOMP_PROTOCOL, 0644); |
110 | if (set_perms(RUN_SECCOMP_PROTOCOL, getuid(), getgid(), 0644)) | 113 | if (set_perms(RUN_SECCOMP_PROTOCOL, getuid(), getgid(), 0644)) |
@@ -112,6 +115,9 @@ void preproc_mount_mnt_dir(void) { | |||
112 | create_empty_file_as_root(RUN_SECCOMP_POSTEXEC, 0644); | 115 | create_empty_file_as_root(RUN_SECCOMP_POSTEXEC, 0644); |
113 | if (set_perms(RUN_SECCOMP_POSTEXEC, getuid(), getgid(), 0644)) | 116 | if (set_perms(RUN_SECCOMP_POSTEXEC, getuid(), getgid(), 0644)) |
114 | errExit("set_perms"); | 117 | errExit("set_perms"); |
118 | create_empty_file_as_root(RUN_SECCOMP_POSTEXEC_32, 0644); | ||
119 | if (set_perms(RUN_SECCOMP_POSTEXEC_32, getuid(), getgid(), 0644)) | ||
120 | errExit("set_perms"); | ||
115 | #endif | 121 | #endif |
116 | } | 122 | } |
117 | } | 123 | } |
diff --git a/src/firejail/profile.c b/src/firejail/profile.c index c7269857d..2200fec01 100644 --- a/src/firejail/profile.c +++ b/src/firejail/profile.c | |||
@@ -788,6 +788,18 @@ int profile_check_line(char *ptr, int lineno, const char *fname) { | |||
788 | 788 | ||
789 | return 0; | 789 | return 0; |
790 | } | 790 | } |
791 | if (strncmp(ptr, "seccomp.32 ", 11) == 0) { | ||
792 | #ifdef HAVE_SECCOMP | ||
793 | if (checkcfg(CFG_SECCOMP)) { | ||
794 | arg_seccomp32 = 1; | ||
795 | cfg.seccomp_list32 = seccomp_check_list(ptr + 11); | ||
796 | } | ||
797 | else if (!arg_quiet) | ||
798 | warning_feature_disabled("seccomp"); | ||
799 | #endif | ||
800 | |||
801 | return 0; | ||
802 | } | ||
791 | 803 | ||
792 | if (strcmp(ptr, "seccomp.block-secondary") == 0) { | 804 | if (strcmp(ptr, "seccomp.block-secondary") == 0) { |
793 | #ifdef HAVE_SECCOMP | 805 | #ifdef HAVE_SECCOMP |
@@ -811,6 +823,17 @@ int profile_check_line(char *ptr, int lineno, const char *fname) { | |||
811 | #endif | 823 | #endif |
812 | return 0; | 824 | return 0; |
813 | } | 825 | } |
826 | if (strncmp(ptr, "seccomp.32.drop ", 13) == 0) { | ||
827 | #ifdef HAVE_SECCOMP | ||
828 | if (checkcfg(CFG_SECCOMP)) { | ||
829 | arg_seccomp32 = 1; | ||
830 | cfg.seccomp_list_drop32 = seccomp_check_list(ptr + 13); | ||
831 | } | ||
832 | else | ||
833 | warning_feature_disabled("seccomp"); | ||
834 | #endif | ||
835 | return 0; | ||
836 | } | ||
814 | 837 | ||
815 | // seccomp keep list | 838 | // seccomp keep list |
816 | if (strncmp(ptr, "seccomp.keep ", 13) == 0) { | 839 | if (strncmp(ptr, "seccomp.keep ", 13) == 0) { |
@@ -824,6 +847,17 @@ int profile_check_line(char *ptr, int lineno, const char *fname) { | |||
824 | #endif | 847 | #endif |
825 | return 0; | 848 | return 0; |
826 | } | 849 | } |
850 | if (strncmp(ptr, "seccomp.32.keep ", 13) == 0) { | ||
851 | #ifdef HAVE_SECCOMP | ||
852 | if (checkcfg(CFG_SECCOMP)) { | ||
853 | arg_seccomp32 = 1; | ||
854 | cfg.seccomp_list_keep32 = seccomp_check_list(ptr + 13); | ||
855 | } | ||
856 | else | ||
857 | warning_feature_disabled("seccomp"); | ||
858 | #endif | ||
859 | return 0; | ||
860 | } | ||
827 | 861 | ||
828 | // memory deny write&execute | 862 | // memory deny write&execute |
829 | if (strcmp(ptr, "memory-deny-write-execute") == 0) { | 863 | if (strcmp(ptr, "memory-deny-write-execute") == 0) { |
diff --git a/src/firejail/sandbox.c b/src/firejail/sandbox.c index d1879fd98..93fe5425a 100644 --- a/src/firejail/sandbox.c +++ b/src/firejail/sandbox.c | |||
@@ -793,8 +793,6 @@ int sandbox(void* sandbox_arg) { | |||
793 | if (rv) | 793 | if (rv) |
794 | exit(rv); | 794 | exit(rv); |
795 | } | 795 | } |
796 | if (arg_seccomp && (cfg.seccomp_list || cfg.seccomp_list_drop || cfg.seccomp_list_keep)) | ||
797 | arg_seccomp_postexec = 1; | ||
798 | #endif | 796 | #endif |
799 | 797 | ||
800 | // need ld.so.preload if tracing or seccomp with any non-default lists | 798 | // need ld.so.preload if tracing or seccomp with any non-default lists |
@@ -1113,9 +1111,15 @@ int sandbox(void* sandbox_arg) { | |||
1113 | // if a keep list is available, disregard the drop list | 1111 | // if a keep list is available, disregard the drop list |
1114 | if (arg_seccomp == 1) { | 1112 | if (arg_seccomp == 1) { |
1115 | if (cfg.seccomp_list_keep) | 1113 | if (cfg.seccomp_list_keep) |
1116 | seccomp_filter_keep(); | 1114 | seccomp_filter_keep(true); |
1117 | else | 1115 | else |
1118 | seccomp_filter_drop(); | 1116 | seccomp_filter_drop(true); |
1117 | } | ||
1118 | if (arg_seccomp32 == 1) { | ||
1119 | if (cfg.seccomp_list_keep32) | ||
1120 | seccomp_filter_keep(false); | ||
1121 | else | ||
1122 | seccomp_filter_drop(false); | ||
1119 | 1123 | ||
1120 | } | 1124 | } |
1121 | else { // clean seccomp files under /run/firejail/mnt | 1125 | else { // clean seccomp files under /run/firejail/mnt |
@@ -1128,9 +1132,11 @@ int sandbox(void* sandbox_arg) { | |||
1128 | if (arg_debug) | 1132 | if (arg_debug) |
1129 | printf("Install memory write&execute filter\n"); | 1133 | printf("Install memory write&execute filter\n"); |
1130 | seccomp_load(RUN_SECCOMP_MDWX); // install filter | 1134 | seccomp_load(RUN_SECCOMP_MDWX); // install filter |
1135 | seccomp_load(RUN_SECCOMP_MDWX_32); | ||
1131 | } | 1136 | } |
1132 | else { | 1137 | else { |
1133 | int rv = unlink(RUN_SECCOMP_MDWX); | 1138 | int rv = unlink(RUN_SECCOMP_MDWX); |
1139 | rv |= unlink(RUN_SECCOMP_MDWX_32); | ||
1134 | (void) rv; | 1140 | (void) rv; |
1135 | } | 1141 | } |
1136 | // make seccomp filters read-only | 1142 | // make seccomp filters read-only |
diff --git a/src/firejail/seccomp.c b/src/firejail/seccomp.c index 10a2a5665..b0a48591e 100644 --- a/src/firejail/seccomp.c +++ b/src/firejail/seccomp.c | |||
@@ -191,7 +191,17 @@ static void seccomp_filter_block_secondary(void) { | |||
191 | } | 191 | } |
192 | 192 | ||
193 | // drop filter for seccomp option | 193 | // drop filter for seccomp option |
194 | int seccomp_filter_drop(void) { | 194 | int seccomp_filter_drop(bool native) { |
195 | const char *filter, *postexec_filter; | ||
196 | |||
197 | if (native) { | ||
198 | filter = RUN_SECCOMP_CFG; | ||
199 | postexec_filter = RUN_SECCOMP_POSTEXEC; | ||
200 | } else { | ||
201 | filter = RUN_SECCOMP_32; | ||
202 | postexec_filter = RUN_SECCOMP_POSTEXEC_32; | ||
203 | } | ||
204 | |||
195 | // if we have multiple seccomp commands, only one of them is executed | 205 | // if we have multiple seccomp commands, only one of them is executed |
196 | // in the following order: | 206 | // in the following order: |
197 | // - seccomp.drop list | 207 | // - seccomp.drop list |
@@ -224,19 +234,28 @@ int seccomp_filter_drop(void) { | |||
224 | if (arg_debug) | 234 | if (arg_debug) |
225 | printf("Build default+drop seccomp filter\n"); | 235 | printf("Build default+drop seccomp filter\n"); |
226 | 236 | ||
237 | const char *command, *list; | ||
238 | if (native) { | ||
239 | command = "default"; | ||
240 | list = cfg.seccomp_list; | ||
241 | } else { | ||
242 | command = "default32"; | ||
243 | list = cfg.seccomp_list32; | ||
244 | } | ||
245 | |||
227 | // build the seccomp filter as a regular user | 246 | // build the seccomp filter as a regular user |
228 | int rv; | 247 | int rv; |
229 | if (arg_allow_debuggers) | 248 | if (arg_allow_debuggers) |
230 | rv = sbox_run(SBOX_USER | SBOX_CAPS_NONE | SBOX_SECCOMP, 7, | 249 | rv = sbox_run(SBOX_USER | SBOX_CAPS_NONE | SBOX_SECCOMP, 7, |
231 | PATH_FSECCOMP, "default", "drop", RUN_SECCOMP_CFG, RUN_SECCOMP_POSTEXEC, cfg.seccomp_list, "allow-debuggers"); | 250 | PATH_FSECCOMP, command, "drop", filter, postexec_filter, list, "allow-debuggers"); |
232 | else | 251 | else |
233 | rv = sbox_run(SBOX_USER | SBOX_CAPS_NONE | SBOX_SECCOMP, 6, | 252 | rv = sbox_run(SBOX_USER | SBOX_CAPS_NONE | SBOX_SECCOMP, 6, |
234 | PATH_FSECCOMP, "default", "drop", RUN_SECCOMP_CFG, RUN_SECCOMP_POSTEXEC, cfg.seccomp_list); | 253 | PATH_FSECCOMP, command, "drop", filter, postexec_filter, list); |
235 | if (rv) | 254 | if (rv) |
236 | exit(rv); | 255 | exit(rv); |
237 | 256 | ||
238 | // optimize the new filter | 257 | // optimize the new filter |
239 | rv = sbox_run(SBOX_USER | SBOX_CAPS_NONE | SBOX_SECCOMP, 2, PATH_FSEC_OPTIMIZE, RUN_SECCOMP_CFG); | 258 | rv = sbox_run(SBOX_USER | SBOX_CAPS_NONE | SBOX_SECCOMP, 2, PATH_FSEC_OPTIMIZE, filter); |
240 | if (rv) | 259 | if (rv) |
241 | exit(rv); | 260 | exit(rv); |
242 | } | 261 | } |
@@ -250,36 +269,45 @@ int seccomp_filter_drop(void) { | |||
250 | if (arg_debug) | 269 | if (arg_debug) |
251 | printf("Build drop seccomp filter\n"); | 270 | printf("Build drop seccomp filter\n"); |
252 | 271 | ||
272 | const char *command, *list; | ||
273 | if (native) { | ||
274 | command = "drop"; | ||
275 | list = cfg.seccomp_list_drop; | ||
276 | } else { | ||
277 | command = "drop32"; | ||
278 | list = cfg.seccomp_list_drop32; | ||
279 | } | ||
280 | |||
253 | // build the seccomp filter as a regular user | 281 | // build the seccomp filter as a regular user |
254 | int rv; | 282 | int rv; |
255 | if (arg_allow_debuggers) | 283 | if (arg_allow_debuggers) |
256 | rv = sbox_run(SBOX_USER | SBOX_CAPS_NONE | SBOX_SECCOMP, 6, | 284 | rv = sbox_run(SBOX_USER | SBOX_CAPS_NONE | SBOX_SECCOMP, 6, |
257 | PATH_FSECCOMP, "drop", RUN_SECCOMP_CFG, RUN_SECCOMP_POSTEXEC, cfg.seccomp_list_drop, "allow-debuggers"); | 285 | PATH_FSECCOMP, command, filter, postexec_filter, list, "allow-debuggers"); |
258 | else | 286 | else |
259 | rv = sbox_run(SBOX_USER | SBOX_CAPS_NONE | SBOX_SECCOMP, 5, | 287 | rv = sbox_run(SBOX_USER | SBOX_CAPS_NONE | SBOX_SECCOMP, 5, |
260 | PATH_FSECCOMP, "drop", RUN_SECCOMP_CFG, RUN_SECCOMP_POSTEXEC, cfg.seccomp_list_drop); | 288 | PATH_FSECCOMP, command, filter, postexec_filter, list); |
261 | 289 | ||
262 | if (rv) | 290 | if (rv) |
263 | exit(rv); | 291 | exit(rv); |
264 | 292 | ||
265 | // optimize the drop filter | 293 | // optimize the drop filter |
266 | rv = sbox_run(SBOX_USER | SBOX_CAPS_NONE | SBOX_SECCOMP, 2, PATH_FSEC_OPTIMIZE, RUN_SECCOMP_CFG); | 294 | rv = sbox_run(SBOX_USER | SBOX_CAPS_NONE | SBOX_SECCOMP, 2, PATH_FSEC_OPTIMIZE, filter); |
267 | if (rv) | 295 | if (rv) |
268 | exit(rv); | 296 | exit(rv); |
269 | } | 297 | } |
270 | 298 | ||
271 | // load the filter | 299 | // load the filter |
272 | if (seccomp_load(RUN_SECCOMP_CFG) == 0) { | 300 | if (seccomp_load(filter) == 0) { |
273 | if (arg_debug) | 301 | if (arg_debug) |
274 | printf("seccomp filter configured\n"); | 302 | printf("seccomp filter configured\n"); |
275 | } | 303 | } |
276 | 304 | ||
277 | if (arg_debug && access(PATH_FSEC_PRINT, X_OK) == 0) { | 305 | if (arg_debug && access(PATH_FSEC_PRINT, X_OK) == 0) { |
278 | struct stat st; | 306 | struct stat st; |
279 | if (stat(RUN_SECCOMP_POSTEXEC, &st) != -1 && st.st_size != 0) { | 307 | if (stat(postexec_filter, &st) != -1 && st.st_size != 0) { |
280 | printf("configuring postexec seccomp filter in %s\n", RUN_SECCOMP_POSTEXEC); | 308 | printf("configuring postexec seccomp filter in %s\n", postexec_filter); |
281 | sbox_run(SBOX_USER | SBOX_CAPS_NONE | SBOX_SECCOMP, 2, | 309 | sbox_run(SBOX_USER | SBOX_CAPS_NONE | SBOX_SECCOMP, 2, |
282 | PATH_FSEC_PRINT, RUN_SECCOMP_POSTEXEC); | 310 | PATH_FSEC_PRINT, postexec_filter); |
283 | } | 311 | } |
284 | } | 312 | } |
285 | 313 | ||
@@ -287,7 +315,7 @@ int seccomp_filter_drop(void) { | |||
287 | } | 315 | } |
288 | 316 | ||
289 | // keep filter for seccomp option | 317 | // keep filter for seccomp option |
290 | int seccomp_filter_keep(void) { | 318 | int seccomp_filter_keep(bool native) { |
291 | // secondary filters are not installed except when secondary | 319 | // secondary filters are not installed except when secondary |
292 | // architectures are explicitly blocked | 320 | // architectures are explicitly blocked |
293 | if (arg_seccomp_block_secondary) | 321 | if (arg_seccomp_block_secondary) |
@@ -296,9 +324,22 @@ int seccomp_filter_keep(void) { | |||
296 | if (arg_debug) | 324 | if (arg_debug) |
297 | printf("Build keep seccomp filter\n"); | 325 | printf("Build keep seccomp filter\n"); |
298 | 326 | ||
327 | const char *command, *filter, *postexec_filter, *list; | ||
328 | if (native) { | ||
329 | command = "keep"; | ||
330 | filter = RUN_SECCOMP_CFG; | ||
331 | postexec_filter = RUN_SECCOMP_POSTEXEC; | ||
332 | list = cfg.seccomp_list_keep; | ||
333 | } else { | ||
334 | command = "keep32"; | ||
335 | filter = RUN_SECCOMP_32; | ||
336 | postexec_filter = RUN_SECCOMP_POSTEXEC_32; | ||
337 | list = cfg.seccomp_list_keep32; | ||
338 | } | ||
339 | |||
299 | // build the seccomp filter as a regular user | 340 | // build the seccomp filter as a regular user |
300 | int rv = sbox_run(SBOX_USER | SBOX_CAPS_NONE | SBOX_SECCOMP, 5, | 341 | int rv = sbox_run(SBOX_USER | SBOX_CAPS_NONE | SBOX_SECCOMP, 5, |
301 | PATH_FSECCOMP, "keep", RUN_SECCOMP_CFG, RUN_SECCOMP_POSTEXEC, cfg.seccomp_list_keep); | 342 | PATH_FSECCOMP, "keep", filter, postexec_filter, list); |
302 | 343 | ||
303 | if (rv) { | 344 | if (rv) { |
304 | fprintf(stderr, "Error: cannot configure seccomp filter\n"); | 345 | fprintf(stderr, "Error: cannot configure seccomp filter\n"); |
@@ -309,17 +350,17 @@ int seccomp_filter_keep(void) { | |||
309 | printf("seccomp filter configured\n"); | 350 | printf("seccomp filter configured\n"); |
310 | 351 | ||
311 | // load the filter | 352 | // load the filter |
312 | if (seccomp_load(RUN_SECCOMP_CFG) == 0) { | 353 | if (seccomp_load(filter) == 0) { |
313 | if (arg_debug) | 354 | if (arg_debug) |
314 | printf("seccomp filter configured\n"); | 355 | printf("seccomp filter configured\n"); |
315 | } | 356 | } |
316 | 357 | ||
317 | if (arg_debug && access(PATH_FSEC_PRINT, X_OK) == 0) { | 358 | if (arg_debug && access(PATH_FSEC_PRINT, X_OK) == 0) { |
318 | struct stat st; | 359 | struct stat st; |
319 | if (stat(RUN_SECCOMP_POSTEXEC, &st) != -1 && st.st_size != 0) { | 360 | if (stat(postexec_filter, &st) != -1 && st.st_size != 0) { |
320 | printf("configuring postexec seccomp filter in %s\n", RUN_SECCOMP_POSTEXEC); | 361 | printf("configuring postexec seccomp filter in %s\n", postexec_filter); |
321 | sbox_run(SBOX_USER | SBOX_CAPS_NONE | SBOX_SECCOMP, 2, | 362 | sbox_run(SBOX_USER | SBOX_CAPS_NONE | SBOX_SECCOMP, 2, |
322 | PATH_FSEC_PRINT, RUN_SECCOMP_POSTEXEC); | 363 | PATH_FSEC_PRINT, postexec_filter); |
323 | } | 364 | } |
324 | } | 365 | } |
325 | 366 | ||
diff --git a/src/firejail/usage.c b/src/firejail/usage.c index 52d4f7c03..c98ad3620 100644 --- a/src/firejail/usage.c +++ b/src/firejail/usage.c | |||
@@ -60,6 +60,7 @@ static char *usage_str = | |||
60 | " --debug-private-lib - debug for --private-lib option.\n" | 60 | " --debug-private-lib - debug for --private-lib option.\n" |
61 | " --debug-protocols - print all recognized protocols.\n" | 61 | " --debug-protocols - print all recognized protocols.\n" |
62 | " --debug-syscalls - print all recognized system calls.\n" | 62 | " --debug-syscalls - print all recognized system calls.\n" |
63 | " --debug-syscalls32 - print all recognized 32 bit system calls.\n" | ||
63 | #ifdef HAVE_WHITELIST | 64 | #ifdef HAVE_WHITELIST |
64 | " --debug-whitelists - debug whitelisting.\n" | 65 | " --debug-whitelists - debug whitelisting.\n" |
65 | #endif | 66 | #endif |
diff --git a/src/firemon/procevent.c b/src/firemon/procevent.c index c823943c0..7dd08444e 100644 --- a/src/firemon/procevent.c +++ b/src/firemon/procevent.c | |||
@@ -98,7 +98,7 @@ static int pid_is_firejail(pid_t pid) { | |||
98 | "apparmor.print", "caps.print", "cpu.print", "dns.print", "fs.print", "netfilter.print", | 98 | "apparmor.print", "caps.print", "cpu.print", "dns.print", "fs.print", "netfilter.print", |
99 | "netfilter6.print", "profile.print", "protocol.print", "seccomp.print", | 99 | "netfilter6.print", "profile.print", "protocol.print", "seccomp.print", |
100 | // debug | 100 | // debug |
101 | "debug-caps", "debug-errnos", "debug-protocols", "debug-syscalls", | 101 | "debug-caps", "debug-errnos", "debug-protocols", "debug-syscalls", "debug-syscalls32", |
102 | // file transfer | 102 | // file transfer |
103 | "ls", "get", "put", | 103 | "ls", "get", "put", |
104 | // stats | 104 | // stats |
diff --git a/src/fsec-print/Makefile.in b/src/fsec-print/Makefile.in index f717af788..a30ff4ba3 100644 --- a/src/fsec-print/Makefile.in +++ b/src/fsec-print/Makefile.in | |||
@@ -5,8 +5,8 @@ include ../common.mk | |||
5 | %.o : %.c $(H_FILE_LIST) ../include/common.h ../include/seccomp.h ../include/syscall.h | 5 | %.o : %.c $(H_FILE_LIST) ../include/common.h ../include/seccomp.h ../include/syscall.h |
6 | $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ | 6 | $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ |
7 | 7 | ||
8 | fsec-print: $(OBJS) ../lib/libnetlink.o | 8 | fsec-print: $(OBJS) ../lib/libnetlink.o ../lib/errno.o ../lib/syscall.o |
9 | $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) $(EXTRA_LDFLAGS) | 9 | $(CC) $(LDFLAGS) -o $@ $(OBJS) ../lib/errno.o ../lib/syscall.o $(LIBS) $(EXTRA_LDFLAGS) |
10 | 10 | ||
11 | clean:; rm -fr *.o fsec-print *.gcov *.gcda *.gcno *.plist | 11 | clean:; rm -fr *.o fsec-print *.gcov *.gcda *.gcno *.plist |
12 | 12 | ||
diff --git a/src/fsec-print/fsec_print.h b/src/fsec-print/fsec_print.h index 0237fd020..337199288 100644 --- a/src/fsec-print/fsec_print.h +++ b/src/fsec-print/fsec_print.h | |||
@@ -21,12 +21,10 @@ | |||
21 | #define FSEC_PRINT_H | 21 | #define FSEC_PRINT_H |
22 | #include "../include/common.h" | 22 | #include "../include/common.h" |
23 | #include "../include/seccomp.h" | 23 | #include "../include/seccomp.h" |
24 | #include "../include/syscall.h" | ||
24 | #include <sys/mman.h> | 25 | #include <sys/mman.h> |
25 | 26 | ||
26 | // print.c | 27 | // print.c |
27 | void print(struct sock_filter *filter, int entries); | 28 | void print(struct sock_filter *filter, int entries); |
28 | 29 | ||
29 | // syscall_list.c | ||
30 | const char *syscall_find_nr(int nr); | ||
31 | |||
32 | #endif | 30 | #endif |
diff --git a/src/fsec-print/main.c b/src/fsec-print/main.c index 728308dac..7bb4fd0cd 100644 --- a/src/fsec-print/main.c +++ b/src/fsec-print/main.c | |||
@@ -24,6 +24,9 @@ static void usage(void) { | |||
24 | printf("\tfsec-print file - disassemble seccomp filter\n"); | 24 | printf("\tfsec-print file - disassemble seccomp filter\n"); |
25 | } | 25 | } |
26 | 26 | ||
27 | int arg_quiet = 0; | ||
28 | void filter_add_errno(int fd, int syscall, int arg, void *ptrarg, bool native) {} | ||
29 | |||
27 | int main(int argc, char **argv) { | 30 | int main(int argc, char **argv) { |
28 | #if 0 | 31 | #if 0 |
29 | { | 32 | { |
diff --git a/src/fsec-print/syscall_list.c b/src/fsec-print/syscall_list.c deleted file mode 100644 index 274908cef..000000000 --- a/src/fsec-print/syscall_list.c +++ /dev/null | |||
@@ -1,47 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2014-2020 Firejail Authors | ||
3 | * | ||
4 | * This file is part of firejail project | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License as published by | ||
8 | * the Free Software Foundation; either version 2 of the License, or | ||
9 | * (at your option) any later version. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | * GNU General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public License along | ||
17 | * with this program; if not, write to the Free Software Foundation, Inc., | ||
18 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | ||
19 | */ | ||
20 | #include "fsec_print.h" | ||
21 | #include <sys/syscall.h> | ||
22 | |||
23 | typedef struct { | ||
24 | const char * const name; | ||
25 | int nr; | ||
26 | } SyscallEntry; | ||
27 | |||
28 | static const SyscallEntry syslist[] = { | ||
29 | // | ||
30 | // code generated using tools/extract-syscall | ||
31 | // | ||
32 | #include "../include/syscall.h" | ||
33 | // | ||
34 | // end of generated code | ||
35 | // | ||
36 | }; // end of syslist | ||
37 | |||
38 | const char *syscall_find_nr(int nr) { | ||
39 | int i; | ||
40 | int elems = sizeof(syslist) / sizeof(syslist[0]); | ||
41 | for (i = 0; i < elems; i++) { | ||
42 | if (nr == syslist[i].nr) | ||
43 | return syslist[i].name; | ||
44 | } | ||
45 | |||
46 | return NULL; | ||
47 | } | ||
diff --git a/src/fseccomp/Makefile.in b/src/fseccomp/Makefile.in index 67e074b3d..8623db6f8 100644 --- a/src/fseccomp/Makefile.in +++ b/src/fseccomp/Makefile.in | |||
@@ -5,8 +5,8 @@ include ../common.mk | |||
5 | %.o : %.c $(H_FILE_LIST) ../include/common.h ../include/syscall.h | 5 | %.o : %.c $(H_FILE_LIST) ../include/common.h ../include/syscall.h |
6 | $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ | 6 | $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDE) -c $< -o $@ |
7 | 7 | ||
8 | fseccomp: $(OBJS) | 8 | fseccomp: $(OBJS) ../lib/errno.o ../lib/syscall.o |
9 | $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) $(EXTRA_LDFLAGS) | 9 | $(CC) $(LDFLAGS) -o $@ $(OBJS) ../lib/errno.o ../lib/syscall.o $(LIBS) $(EXTRA_LDFLAGS) |
10 | 10 | ||
11 | clean:; rm -fr *.o fseccomp *.gcov *.gcda *.gcno *.plist | 11 | clean:; rm -fr *.o fseccomp *.gcov *.gcda *.gcno *.plist |
12 | 12 | ||
diff --git a/src/fseccomp/fseccomp.h b/src/fseccomp/fseccomp.h index bf55870f2..e8dd083b6 100644 --- a/src/fseccomp/fseccomp.h +++ b/src/fseccomp/fseccomp.h | |||
@@ -24,21 +24,11 @@ | |||
24 | #include <string.h> | 24 | #include <string.h> |
25 | #include <assert.h> | 25 | #include <assert.h> |
26 | #include "../include/common.h" | 26 | #include "../include/common.h" |
27 | #include "../include/syscall.h" | ||
27 | 28 | ||
28 | // main.c | 29 | // main.c |
29 | extern int arg_quiet; | 30 | extern int arg_quiet; |
30 | 31 | ||
31 | // syscall.c | ||
32 | void syscall_print(void); | ||
33 | int syscall_check_list(const char *slist, void (*callback)(int fd, int syscall, int arg, void *ptrarg), int fd, int arg, void *ptrarg); | ||
34 | const char *syscall_find_nr(int nr); | ||
35 | void syscalls_in_list(const char *list, const char *slist, int fd, char **prelist, char **postlist); | ||
36 | |||
37 | // errno.c | ||
38 | void errno_print(void); | ||
39 | int errno_find_name(const char *name); | ||
40 | char *errno_find_nr(int nr); | ||
41 | |||
42 | // protocol.c | 32 | // protocol.c |
43 | void protocol_print(void); | 33 | void protocol_print(void); |
44 | void protocol_build_filter(const char *prlist, const char *fname); | 34 | void protocol_build_filter(const char *prlist, const char *fname); |
@@ -49,27 +39,27 @@ void seccomp_secondary_32(const char *fname); | |||
49 | void seccomp_secondary_block(const char *fname); | 39 | void seccomp_secondary_block(const char *fname); |
50 | 40 | ||
51 | // seccomp_file.c | 41 | // seccomp_file.c |
52 | void write_to_file(int fd, const void *data, int size); | 42 | void write_to_file(int fd, const void *data, size_t size); |
53 | void filter_init(int fd); | 43 | void filter_init(int fd, bool native); |
54 | void filter_add_whitelist(int fd, int syscall, int arg, void *ptrarg); | 44 | void filter_add_whitelist(int fd, int syscall, int arg, void *ptrarg, bool native); |
55 | void filter_add_whitelist_for_excluded(int fd, int syscall, int arg, void *ptrarg); | 45 | void filter_add_whitelist_for_excluded(int fd, int syscall, int arg, void *ptrarg, bool native); |
56 | void filter_add_blacklist(int fd, int syscall, int arg, void *ptrarg); | 46 | void filter_add_blacklist(int fd, int syscall, int arg, void *ptrarg, bool native); |
57 | void filter_add_blacklist_for_excluded(int fd, int syscall, int arg, void *ptrarg); | 47 | void filter_add_blacklist_for_excluded(int fd, int syscall, int arg, void *ptrarg, bool native); |
58 | void filter_add_errno(int fd, int syscall, int arg, void *ptrarg); | ||
59 | void filter_end_blacklist(int fd); | 48 | void filter_end_blacklist(int fd); |
60 | void filter_end_whitelist(int fd); | 49 | void filter_end_whitelist(int fd); |
61 | 50 | ||
62 | // seccomp.c | 51 | // seccomp.c |
63 | // default list | 52 | // default list |
64 | void seccomp_default(const char *fname, int allow_debuggers); | 53 | void seccomp_default(const char *fname, int allow_debuggers, bool native); |
65 | // drop list | 54 | // drop list |
66 | void seccomp_drop(const char *fname1, const char *fname2, char *list, int allow_debuggers); | 55 | void seccomp_drop(const char *fname1, const char *fname2, char *list, int allow_debuggers, bool native); |
67 | // default+drop list | 56 | // default+drop list |
68 | void seccomp_default_drop(const char *fname1, const char *fname2, char *list, int allow_debuggers); | 57 | void seccomp_default_drop(const char *fname1, const char *fname2, char *list, int allow_debuggers, bool native); |
69 | // whitelisted filter | 58 | // whitelisted filter |
70 | void seccomp_keep(const char *fname1, const char *fname2, char *list); | 59 | void seccomp_keep(const char *fname1, const char *fname2, char *list, bool native); |
71 | // block writable and executable memory | 60 | // block writable and executable memory |
72 | void memory_deny_write_execute(const char *fname); | 61 | void memory_deny_write_execute(const char *fname); |
62 | void memory_deny_write_execute_32(const char *fname); | ||
73 | 63 | ||
74 | // seccomp_print | 64 | // seccomp_print |
75 | void filter_print(const char *fname); | 65 | void filter_print(const char *fname); |
diff --git a/src/fseccomp/main.c b/src/fseccomp/main.c index 82b96f476..b3161a6db 100644 --- a/src/fseccomp/main.c +++ b/src/fseccomp/main.c | |||
@@ -23,6 +23,7 @@ int arg_quiet = 0; | |||
23 | static void usage(void) { | 23 | static void usage(void) { |
24 | printf("Usage:\n"); | 24 | printf("Usage:\n"); |
25 | printf("\tfseccomp debug-syscalls\n"); | 25 | printf("\tfseccomp debug-syscalls\n"); |
26 | printf("\tfseccomp debug-syscalls32\n"); | ||
26 | printf("\tfseccomp debug-errnos\n"); | 27 | printf("\tfseccomp debug-errnos\n"); |
27 | printf("\tfseccomp debug-protocols\n"); | 28 | printf("\tfseccomp debug-protocols\n"); |
28 | printf("\tfseccomp protocol build list file\n"); | 29 | printf("\tfseccomp protocol build list file\n"); |
@@ -31,12 +32,20 @@ static void usage(void) { | |||
31 | printf("\tfseccomp secondary block file\n"); | 32 | printf("\tfseccomp secondary block file\n"); |
32 | printf("\tfseccomp default file\n"); | 33 | printf("\tfseccomp default file\n"); |
33 | printf("\tfseccomp default file allow-debuggers\n"); | 34 | printf("\tfseccomp default file allow-debuggers\n"); |
35 | printf("\tfseccomp default32 file\n"); | ||
36 | printf("\tfseccomp default32 file allow-debuggers\n"); | ||
34 | printf("\tfseccomp drop file1 file2 list\n"); | 37 | printf("\tfseccomp drop file1 file2 list\n"); |
35 | printf("\tfseccomp drop file1 file2 list allow-debuggers\n"); | 38 | printf("\tfseccomp drop file1 file2 list allow-debuggers\n"); |
39 | printf("\tfseccomp drop32 file1 file2 list\n"); | ||
40 | printf("\tfseccomp drop32 file1 file2 list allow-debuggers\n"); | ||
36 | printf("\tfseccomp default drop file1 file2 list\n"); | 41 | printf("\tfseccomp default drop file1 file2 list\n"); |
37 | printf("\tfseccomp default drop file1 file2 list allow-debuggers\n"); | 42 | printf("\tfseccomp default drop file1 file2 list allow-debuggers\n"); |
43 | printf("\tfseccomp default32 drop file1 file2 list\n"); | ||
44 | printf("\tfseccomp default32 drop file1 file2 list allow-debuggers\n"); | ||
38 | printf("\tfseccomp keep file1 file2 list\n"); | 45 | printf("\tfseccomp keep file1 file2 list\n"); |
46 | printf("\tfseccomp keep32 file1 file2 list\n"); | ||
39 | printf("\tfseccomp memory-deny-write-execute file\n"); | 47 | printf("\tfseccomp memory-deny-write-execute file\n"); |
48 | printf("\tfseccomp memory-deny-write-execute.32 file\n"); | ||
40 | } | 49 | } |
41 | 50 | ||
42 | int main(int argc, char **argv) { | 51 | int main(int argc, char **argv) { |
@@ -64,6 +73,8 @@ printf("\n"); | |||
64 | } | 73 | } |
65 | else if (argc == 2 && strcmp(argv[1], "debug-syscalls") == 0) | 74 | else if (argc == 2 && strcmp(argv[1], "debug-syscalls") == 0) |
66 | syscall_print(); | 75 | syscall_print(); |
76 | else if (argc == 2 && strcmp(argv[1], "debug-syscalls32") == 0) | ||
77 | syscall_print_32(); | ||
67 | else if (argc == 2 && strcmp(argv[1], "debug-errnos") == 0) | 78 | else if (argc == 2 && strcmp(argv[1], "debug-errnos") == 0) |
68 | errno_print(); | 79 | errno_print(); |
69 | else if (argc == 2 && strcmp(argv[1], "debug-protocols") == 0) | 80 | else if (argc == 2 && strcmp(argv[1], "debug-protocols") == 0) |
@@ -75,21 +86,37 @@ printf("\n"); | |||
75 | else if (argc == 4 && strcmp(argv[1], "secondary") == 0 && strcmp(argv[2], "block") == 0) | 86 | else if (argc == 4 && strcmp(argv[1], "secondary") == 0 && strcmp(argv[2], "block") == 0) |
76 | seccomp_secondary_block(argv[3]); | 87 | seccomp_secondary_block(argv[3]); |
77 | else if (argc == 3 && strcmp(argv[1], "default") == 0) | 88 | else if (argc == 3 && strcmp(argv[1], "default") == 0) |
78 | seccomp_default(argv[2], 0); | 89 | seccomp_default(argv[2], 0, true); |
79 | else if (argc == 4 && strcmp(argv[1], "default") == 0 && strcmp(argv[3], "allow-debuggers") == 0) | 90 | else if (argc == 4 && strcmp(argv[1], "default") == 0 && strcmp(argv[3], "allow-debuggers") == 0) |
80 | seccomp_default(argv[2], 1); | 91 | seccomp_default(argv[2], 1, true); |
92 | else if (argc == 3 && strcmp(argv[1], "default32") == 0) | ||
93 | seccomp_default(argv[2], 0, false); | ||
94 | else if (argc == 4 && strcmp(argv[1], "default32") == 0 && strcmp(argv[3], "allow-debuggers") == 0) | ||
95 | seccomp_default(argv[2], 1, false); | ||
81 | else if (argc == 5 && strcmp(argv[1], "drop") == 0) | 96 | else if (argc == 5 && strcmp(argv[1], "drop") == 0) |
82 | seccomp_drop(argv[2], argv[3], argv[4], 0); | 97 | seccomp_drop(argv[2], argv[3], argv[4], 0, true); |
83 | else if (argc == 6 && strcmp(argv[1], "drop") == 0 && strcmp(argv[5], "allow-debuggers") == 0) | 98 | else if (argc == 6 && strcmp(argv[1], "drop") == 0 && strcmp(argv[5], "allow-debuggers") == 0) |
84 | seccomp_drop(argv[2], argv[3], argv[4], 1); | 99 | seccomp_drop(argv[2], argv[3], argv[4], 1, true); |
100 | else if (argc == 5 && strcmp(argv[1], "drop32") == 0) | ||
101 | seccomp_drop(argv[2], argv[3], argv[4], 0, false); | ||
102 | else if (argc == 6 && strcmp(argv[1], "drop32") == 0 && strcmp(argv[5], "allow-debuggers") == 0) | ||
103 | seccomp_drop(argv[2], argv[3], argv[4], 1, false); | ||
85 | else if (argc == 6 && strcmp(argv[1], "default") == 0 && strcmp(argv[2], "drop") == 0) | 104 | else if (argc == 6 && strcmp(argv[1], "default") == 0 && strcmp(argv[2], "drop") == 0) |
86 | seccomp_default_drop(argv[3], argv[4], argv[5], 0); | 105 | seccomp_default_drop(argv[3], argv[4], argv[5], 0, true); |
87 | else if (argc == 7 && strcmp(argv[1], "default") == 0 && strcmp(argv[2], "drop") == 0 && strcmp(argv[6], "allow-debuggers") == 0) | 106 | else if (argc == 7 && strcmp(argv[1], "default") == 0 && strcmp(argv[2], "drop") == 0 && strcmp(argv[6], "allow-debuggers") == 0) |
88 | seccomp_default_drop(argv[3], argv[4], argv[5], 1); | 107 | seccomp_default_drop(argv[3], argv[4], argv[5], 1, true); |
108 | else if (argc == 6 && strcmp(argv[1], "default32") == 0 && strcmp(argv[2], "drop") == 0) | ||
109 | seccomp_default_drop(argv[3], argv[4], argv[5], 0, false); | ||
110 | else if (argc == 7 && strcmp(argv[1], "default32") == 0 && strcmp(argv[2], "drop") == 0 && strcmp(argv[6], "allow-debuggers") == 0) | ||
111 | seccomp_default_drop(argv[3], argv[4], argv[5], 1, false); | ||
89 | else if (argc == 5 && strcmp(argv[1], "keep") == 0) | 112 | else if (argc == 5 && strcmp(argv[1], "keep") == 0) |
90 | seccomp_keep(argv[2], argv[3], argv[4]); | 113 | seccomp_keep(argv[2], argv[3], argv[4], true); |
114 | else if (argc == 5 && strcmp(argv[1], "keep32") == 0) | ||
115 | seccomp_keep(argv[2], argv[3], argv[4], false); | ||
91 | else if (argc == 3 && strcmp(argv[1], "memory-deny-write-execute") == 0) | 116 | else if (argc == 3 && strcmp(argv[1], "memory-deny-write-execute") == 0) |
92 | memory_deny_write_execute(argv[2]); | 117 | memory_deny_write_execute(argv[2]); |
118 | else if (argc == 3 && strcmp(argv[1], "memory-deny-write-execute.32") == 0) | ||
119 | memory_deny_write_execute_32(argv[2]); | ||
93 | else { | 120 | else { |
94 | fprintf(stderr, "Error fseccomp: invalid arguments\n"); | 121 | fprintf(stderr, "Error fseccomp: invalid arguments\n"); |
95 | return 1; | 122 | return 1; |
diff --git a/src/fseccomp/protocol.c b/src/fseccomp/protocol.c index 7a21eb2c2..b8b30f488 100644 --- a/src/fseccomp/protocol.c +++ b/src/fseccomp/protocol.c | |||
@@ -122,10 +122,23 @@ void protocol_build_filter(const char *prlist, const char *fname) { | |||
122 | 122 | ||
123 | // header | 123 | // header |
124 | struct sock_filter filter_start[] = { | 124 | struct sock_filter filter_start[] = { |
125 | VALIDATE_ARCHITECTURE, | 125 | #if defined __x86_64__ |
126 | EXAMINE_SYSCALL, | 126 | /* check for native arch */ |
127 | ONLY(SYS_socket), | 127 | BPF_STMT(BPF_LD+BPF_W+BPF_ABS, (offsetof(struct seccomp_data, arch))), |
128 | EXAMINE_ARGUMENT(0) | 128 | BPF_JUMP(BPF_JMP+BPF_JEQ+BPF_K, ARCH_NR, 1 + 2 + 1, 0), |
129 | /* i386 filter */ | ||
130 | EXAMINE_SYSCALL, // 1 | ||
131 | // checking SYS_socket only: filtering SYS_socketcall not possible with seccomp | ||
132 | ONLY(359), // 1 + 2 | ||
133 | BPF_JUMP(BPF_JMP+BPF_JA+BPF_K, (3 + 1 + 2), 0, 0), // 1 + 2 + 1 | ||
134 | #else | ||
135 | #warning 32 bit protocol filter not implemented yet for your architecture | ||
136 | #endif | ||
137 | VALIDATE_ARCHITECTURE, // 3 | ||
138 | EXAMINE_SYSCALL, // 3 + 1 | ||
139 | ONLY(SYS_socket), // 3 + 1 + 2 | ||
140 | |||
141 | EXAMINE_ARGUMENT(0) // 3 + 1 + 2 + 1 | ||
129 | }; | 142 | }; |
130 | memcpy(ptr, &filter_start[0], sizeof(filter_start)); | 143 | memcpy(ptr, &filter_start[0], sizeof(filter_start)); |
131 | ptr += sizeof(filter_start); | 144 | ptr += sizeof(filter_start); |
diff --git a/src/fseccomp/seccomp.c b/src/fseccomp/seccomp.c index 29aa2f2f5..0db7b5954 100644 --- a/src/fseccomp/seccomp.c +++ b/src/fseccomp/seccomp.c | |||
@@ -24,12 +24,12 @@ | |||
24 | #include <sys/syscall.h> | 24 | #include <sys/syscall.h> |
25 | #include <sys/types.h> | 25 | #include <sys/types.h> |
26 | 26 | ||
27 | static void add_default_list(int fd, int allow_debuggers) { | 27 | static void add_default_list(int fd, int allow_debuggers, bool native) { |
28 | int r; | 28 | int r; |
29 | if (!allow_debuggers) | 29 | if (!allow_debuggers) |
30 | r = syscall_check_list("@default-nodebuggers", filter_add_blacklist, fd, 0, NULL); | 30 | r = syscall_check_list("@default-nodebuggers", filter_add_blacklist, fd, 0, NULL, native); |
31 | else | 31 | else |
32 | r = syscall_check_list("@default", filter_add_blacklist, fd, 0, NULL); | 32 | r = syscall_check_list("@default", filter_add_blacklist, fd, 0, NULL, native); |
33 | 33 | ||
34 | assert(r == 0); | 34 | assert(r == 0); |
35 | //#ifdef SYS_mknod - emoved in 0.9.29 - it breaks Zotero extension | 35 | //#ifdef SYS_mknod - emoved in 0.9.29 - it breaks Zotero extension |
@@ -46,7 +46,7 @@ static void add_default_list(int fd, int allow_debuggers) { | |||
46 | } | 46 | } |
47 | 47 | ||
48 | // default list | 48 | // default list |
49 | void seccomp_default(const char *fname, int allow_debuggers) { | 49 | void seccomp_default(const char *fname, int allow_debuggers, bool native) { |
50 | assert(fname); | 50 | assert(fname); |
51 | 51 | ||
52 | // open file | 52 | // open file |
@@ -57,8 +57,8 @@ void seccomp_default(const char *fname, int allow_debuggers) { | |||
57 | } | 57 | } |
58 | 58 | ||
59 | // build filter (no post-exec filter needed because default list is fine for us) | 59 | // build filter (no post-exec filter needed because default list is fine for us) |
60 | filter_init(fd); | 60 | filter_init(fd, native); |
61 | add_default_list(fd, allow_debuggers); | 61 | add_default_list(fd, allow_debuggers, native); |
62 | filter_end_blacklist(fd); | 62 | filter_end_blacklist(fd); |
63 | 63 | ||
64 | // close file | 64 | // close file |
@@ -66,7 +66,7 @@ void seccomp_default(const char *fname, int allow_debuggers) { | |||
66 | } | 66 | } |
67 | 67 | ||
68 | // drop list | 68 | // drop list |
69 | void seccomp_drop(const char *fname1, const char *fname2, char *list, int allow_debuggers) { | 69 | void seccomp_drop(const char *fname1, const char *fname2, char *list, int allow_debuggers, bool native) { |
70 | assert(fname1); | 70 | assert(fname1); |
71 | assert(fname2); | 71 | assert(fname2); |
72 | (void) allow_debuggers; // todo: to implemnet it | 72 | (void) allow_debuggers; // todo: to implemnet it |
@@ -79,15 +79,15 @@ void seccomp_drop(const char *fname1, const char *fname2, char *list, int allow_ | |||
79 | } | 79 | } |
80 | 80 | ||
81 | // build pre-exec filter: don't blacklist any syscalls in @default-keep | 81 | // build pre-exec filter: don't blacklist any syscalls in @default-keep |
82 | filter_init(fd); | 82 | filter_init(fd, native); |
83 | 83 | ||
84 | // allow exceptions in form of !syscall | 84 | // allow exceptions in form of !syscall |
85 | syscall_check_list(list, filter_add_whitelist_for_excluded, fd, 0, NULL); | 85 | syscall_check_list(list, filter_add_whitelist_for_excluded, fd, 0, NULL, native); |
86 | 86 | ||
87 | char *prelist, *postlist; | 87 | char *prelist, *postlist; |
88 | syscalls_in_list(list, "@default-keep", fd, &prelist, &postlist); | 88 | syscalls_in_list(list, "@default-keep", fd, &prelist, &postlist, native); |
89 | if (prelist) | 89 | if (prelist) |
90 | if (syscall_check_list(prelist, filter_add_blacklist, fd, 0, NULL)) { | 90 | if (syscall_check_list(prelist, filter_add_blacklist, fd, 0, NULL, native)) { |
91 | fprintf(stderr, "Error fseccomp: cannot build seccomp filter\n"); | 91 | fprintf(stderr, "Error fseccomp: cannot build seccomp filter\n"); |
92 | exit(1); | 92 | exit(1); |
93 | } | 93 | } |
@@ -106,8 +106,8 @@ void seccomp_drop(const char *fname1, const char *fname2, char *list, int allow_ | |||
106 | } | 106 | } |
107 | 107 | ||
108 | // build post-exec filter: blacklist remaining syscalls | 108 | // build post-exec filter: blacklist remaining syscalls |
109 | filter_init(fd); | 109 | filter_init(fd, native); |
110 | if (syscall_check_list(postlist, filter_add_blacklist, fd, 0, NULL)) { | 110 | if (syscall_check_list(postlist, filter_add_blacklist, fd, 0, NULL, native)) { |
111 | fprintf(stderr, "Error fseccomp: cannot build seccomp filter\n"); | 111 | fprintf(stderr, "Error fseccomp: cannot build seccomp filter\n"); |
112 | exit(1); | 112 | exit(1); |
113 | } | 113 | } |
@@ -118,7 +118,7 @@ void seccomp_drop(const char *fname1, const char *fname2, char *list, int allow_ | |||
118 | } | 118 | } |
119 | 119 | ||
120 | // default+drop | 120 | // default+drop |
121 | void seccomp_default_drop(const char *fname1, const char *fname2, char *list, int allow_debuggers) { | 121 | void seccomp_default_drop(const char *fname1, const char *fname2, char *list, int allow_debuggers, bool native) { |
122 | assert(fname1); | 122 | assert(fname1); |
123 | assert(fname2); | 123 | assert(fname2); |
124 | 124 | ||
@@ -131,16 +131,16 @@ void seccomp_default_drop(const char *fname1, const char *fname2, char *list, in | |||
131 | 131 | ||
132 | // build pre-exec filter: blacklist @default, don't blacklist | 132 | // build pre-exec filter: blacklist @default, don't blacklist |
133 | // any listed syscalls in @default-keep | 133 | // any listed syscalls in @default-keep |
134 | filter_init(fd); | 134 | filter_init(fd, native); |
135 | 135 | ||
136 | // allow exceptions in form of !syscall | 136 | // allow exceptions in form of !syscall |
137 | syscall_check_list(list, filter_add_whitelist_for_excluded, fd, 0, NULL); | 137 | syscall_check_list(list, filter_add_whitelist_for_excluded, fd, 0, NULL, native); |
138 | 138 | ||
139 | add_default_list(fd, allow_debuggers); | 139 | add_default_list(fd, allow_debuggers, native); |
140 | char *prelist, *postlist; | 140 | char *prelist, *postlist; |
141 | syscalls_in_list(list, "@default-keep", fd, &prelist, &postlist); | 141 | syscalls_in_list(list, "@default-keep", fd, &prelist, &postlist, native); |
142 | if (prelist) | 142 | if (prelist) |
143 | if (syscall_check_list(prelist, filter_add_blacklist, fd, 0, NULL)) { | 143 | if (syscall_check_list(prelist, filter_add_blacklist, fd, 0, NULL, native)) { |
144 | fprintf(stderr, "Error fseccomp: cannot build seccomp filter\n"); | 144 | fprintf(stderr, "Error fseccomp: cannot build seccomp filter\n"); |
145 | exit(1); | 145 | exit(1); |
146 | } | 146 | } |
@@ -160,8 +160,8 @@ void seccomp_default_drop(const char *fname1, const char *fname2, char *list, in | |||
160 | } | 160 | } |
161 | 161 | ||
162 | // build post-exec filter: blacklist remaining syscalls | 162 | // build post-exec filter: blacklist remaining syscalls |
163 | filter_init(fd); | 163 | filter_init(fd, native); |
164 | if (syscall_check_list(postlist, filter_add_blacklist, fd, 0, NULL)) { | 164 | if (syscall_check_list(postlist, filter_add_blacklist, fd, 0, NULL, native)) { |
165 | fprintf(stderr, "Error fseccomp: cannot build seccomp filter\n"); | 165 | fprintf(stderr, "Error fseccomp: cannot build seccomp filter\n"); |
166 | exit(1); | 166 | exit(1); |
167 | } | 167 | } |
@@ -171,7 +171,7 @@ void seccomp_default_drop(const char *fname1, const char *fname2, char *list, in | |||
171 | close(fd); | 171 | close(fd); |
172 | } | 172 | } |
173 | 173 | ||
174 | void seccomp_keep(const char *fname1, const char *fname2, char *list) { | 174 | void seccomp_keep(const char *fname1, const char *fname2, char *list, bool native) { |
175 | (void) fname2; | 175 | (void) fname2; |
176 | 176 | ||
177 | // open file for pre-exec filter | 177 | // open file for pre-exec filter |
@@ -182,17 +182,17 @@ void seccomp_keep(const char *fname1, const char *fname2, char *list) { | |||
182 | } | 182 | } |
183 | 183 | ||
184 | // build pre-exec filter: whitelist also @default-keep | 184 | // build pre-exec filter: whitelist also @default-keep |
185 | filter_init(fd); | 185 | filter_init(fd, native); |
186 | 186 | ||
187 | // allow exceptions in form of !syscall | 187 | // allow exceptions in form of !syscall |
188 | syscall_check_list(list, filter_add_blacklist_for_excluded, fd, 0, NULL); | 188 | syscall_check_list(list, filter_add_blacklist_for_excluded, fd, 0, NULL, native); |
189 | 189 | ||
190 | // these syscalls are used by firejail after the seccomp filter is initialized | 190 | // these syscalls are used by firejail after the seccomp filter is initialized |
191 | int r; | 191 | int r; |
192 | r = syscall_check_list("@default-keep", filter_add_whitelist, fd, 0, NULL); | 192 | r = syscall_check_list("@default-keep", filter_add_whitelist, fd, 0, NULL, native); |
193 | assert(r == 0); | 193 | assert(r == 0); |
194 | 194 | ||
195 | if (syscall_check_list(list, filter_add_whitelist, fd, 0, NULL)) { | 195 | if (syscall_check_list(list, filter_add_whitelist, fd, 0, NULL, native)) { |
196 | fprintf(stderr, "Error fseccomp: cannot build seccomp filter\n"); | 196 | fprintf(stderr, "Error fseccomp: cannot build seccomp filter\n"); |
197 | exit(1); | 197 | exit(1); |
198 | } | 198 | } |
@@ -206,6 +206,15 @@ void seccomp_keep(const char *fname1, const char *fname2, char *list) { | |||
206 | #if defined(__x86_64__) || defined(__aarch64__) || defined(__powerpc64__) | 206 | #if defined(__x86_64__) || defined(__aarch64__) || defined(__powerpc64__) |
207 | # define filter_syscall SYS_mmap | 207 | # define filter_syscall SYS_mmap |
208 | # undef block_syscall | 208 | # undef block_syscall |
209 | #if defined(__x86_64__) | ||
210 | // i386 syscalls | ||
211 | # define filter_syscall_32 192 | ||
212 | # define block_syscall_32 90 | ||
213 | # define mprotect_32 125 | ||
214 | # define pkey_mprotect_32 380 | ||
215 | # define shmat_32 397 | ||
216 | # define memfd_create_32 356 | ||
217 | #endif | ||
209 | #elif defined(__i386__) | 218 | #elif defined(__i386__) |
210 | # define filter_syscall SYS_mmap2 | 219 | # define filter_syscall SYS_mmap2 |
211 | # define block_syscall SYS_mmap | 220 | # define block_syscall SYS_mmap |
@@ -216,6 +225,12 @@ void seccomp_keep(const char *fname1, const char *fname2, char *list) { | |||
216 | # warning "Platform does not support seccomp memory-deny-write-execute filter yet" | 225 | # warning "Platform does not support seccomp memory-deny-write-execute filter yet" |
217 | # undef filter_syscall | 226 | # undef filter_syscall |
218 | # undef block_syscall | 227 | # undef block_syscall |
228 | # undef filter_syscall_32 | ||
229 | # undef block_syscall_32 | ||
230 | # undef mprotect_32 | ||
231 | # undef pkey_mprotect_32 | ||
232 | # undef shmat_32 | ||
233 | # undef memfd_create_32 | ||
219 | #endif | 234 | #endif |
220 | 235 | ||
221 | void memory_deny_write_execute(const char *fname) { | 236 | void memory_deny_write_execute(const char *fname) { |
@@ -226,10 +241,10 @@ void memory_deny_write_execute(const char *fname) { | |||
226 | exit(1); | 241 | exit(1); |
227 | } | 242 | } |
228 | 243 | ||
229 | filter_init(fd); | 244 | filter_init(fd, true); |
230 | 245 | ||
231 | // build filter | 246 | // build filter |
232 | static const struct sock_filter filter[] = { | 247 | struct sock_filter filter[] = { |
233 | #ifdef block_syscall | 248 | #ifdef block_syscall |
234 | // block old multiplexing mmap syscall for i386 | 249 | // block old multiplexing mmap syscall for i386 |
235 | BLACKLIST(block_syscall), | 250 | BLACKLIST(block_syscall), |
@@ -288,3 +303,75 @@ void memory_deny_write_execute(const char *fname) { | |||
288 | // close file | 303 | // close file |
289 | close(fd); | 304 | close(fd); |
290 | } | 305 | } |
306 | |||
307 | void memory_deny_write_execute_32(const char *fname) { | ||
308 | // open file | ||
309 | int fd = open(fname, O_CREAT|O_WRONLY|O_TRUNC, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH); | ||
310 | if (fd < 0) { | ||
311 | fprintf(stderr, "Error fseccomp: cannot open %s file\n", fname); | ||
312 | exit(1); | ||
313 | } | ||
314 | |||
315 | filter_init(fd, false); | ||
316 | |||
317 | // build filter | ||
318 | struct sock_filter filter[] = { | ||
319 | #if defined(__x86_64__) | ||
320 | #ifdef block_syscall_32 | ||
321 | // block old multiplexing mmap syscall for i386 | ||
322 | BLACKLIST(block_syscall_32), | ||
323 | #endif | ||
324 | #ifdef filter_syscall_32 | ||
325 | // block mmap(,,x|PROT_WRITE|PROT_EXEC) so W&X memory can't be created | ||
326 | BPF_JUMP(BPF_JMP+BPF_JEQ+BPF_K, filter_syscall_32, 0, 5), | ||
327 | EXAMINE_ARGUMENT(2), | ||
328 | BPF_STMT(BPF_ALU+BPF_AND+BPF_K, PROT_WRITE|PROT_EXEC), | ||
329 | BPF_JUMP(BPF_JMP+BPF_JEQ+BPF_K, PROT_WRITE|PROT_EXEC, 0, 1), | ||
330 | KILL_PROCESS, | ||
331 | RETURN_ALLOW, | ||
332 | #endif | ||
333 | #ifdef mprotect_32 | ||
334 | // block mprotect(,,PROT_EXEC) so writable memory can't be turned into executable | ||
335 | BPF_JUMP(BPF_JMP+BPF_JEQ+BPF_K, mprotect_32, 0, 5), | ||
336 | EXAMINE_ARGUMENT(2), | ||
337 | BPF_STMT(BPF_ALU+BPF_AND+BPF_K, PROT_EXEC), | ||
338 | BPF_JUMP(BPF_JMP+BPF_JEQ+BPF_K, PROT_EXEC, 0, 1), | ||
339 | KILL_PROCESS, | ||
340 | RETURN_ALLOW, | ||
341 | #endif | ||
342 | #ifdef pkey_mprotect_32 | ||
343 | // same for pkey_mprotect(,,PROT_EXEC), where available | ||
344 | BPF_JUMP(BPF_JMP+BPF_JEQ+BPF_K, pkey_mprotect_32, 0, 5), | ||
345 | EXAMINE_ARGUMENT(2), | ||
346 | BPF_STMT(BPF_ALU+BPF_AND+BPF_K, PROT_EXEC), | ||
347 | BPF_JUMP(BPF_JMP+BPF_JEQ+BPF_K, PROT_EXEC, 0, 1), | ||
348 | KILL_PROCESS, | ||
349 | RETURN_ALLOW, | ||
350 | #endif | ||
351 | |||
352 | #ifdef shmat_32 | ||
353 | // block shmat(,,x|SHM_EXEC) so W&X shared memory can't be created | ||
354 | BPF_JUMP(BPF_JMP+BPF_JEQ+BPF_K, shmat_32, 0, 5), | ||
355 | EXAMINE_ARGUMENT(2), | ||
356 | BPF_STMT(BPF_ALU+BPF_AND+BPF_K, SHM_EXEC), | ||
357 | BPF_JUMP(BPF_JMP+BPF_JEQ+BPF_K, SHM_EXEC, 0, 1), | ||
358 | KILL_PROCESS, | ||
359 | RETURN_ALLOW, | ||
360 | #endif | ||
361 | #ifdef memfd_create_32 | ||
362 | // block memfd_create as it can be used to create | ||
363 | // arbitrary memory contents which can be later mapped | ||
364 | // as executable | ||
365 | BPF_JUMP(BPF_JMP+BPF_JEQ+BPF_K, memfd_create_32, 0, 1), | ||
366 | KILL_PROCESS, | ||
367 | #endif | ||
368 | #endif | ||
369 | RETURN_ALLOW | ||
370 | }; | ||
371 | write_to_file(fd, filter, sizeof(filter)); | ||
372 | |||
373 | filter_end_blacklist(fd); | ||
374 | |||
375 | // close file | ||
376 | close(fd); | ||
377 | } | ||
diff --git a/src/fseccomp/seccomp_file.c b/src/fseccomp/seccomp_file.c index e47e8db25..872b41261 100644 --- a/src/fseccomp/seccomp_file.c +++ b/src/fseccomp/seccomp_file.c | |||
@@ -21,11 +21,11 @@ | |||
21 | #include "../include/seccomp.h" | 21 | #include "../include/seccomp.h" |
22 | #include <sys/syscall.h> | 22 | #include <sys/syscall.h> |
23 | 23 | ||
24 | void write_to_file(int fd, const void *data, int size) { | 24 | void write_to_file(int fd, const void *data, size_t size) { |
25 | assert(data); | 25 | assert(data); |
26 | assert(size); | 26 | assert(size); |
27 | 27 | ||
28 | int written = 0; | 28 | size_t written = 0; |
29 | while (written < size) { | 29 | while (written < size) { |
30 | int rv = write(fd, (unsigned char *) data + written, size - written); | 30 | int rv = write(fd, (unsigned char *) data + written, size - written); |
31 | if (rv == -1) { | 31 | if (rv == -1) { |
@@ -36,8 +36,8 @@ void write_to_file(int fd, const void *data, int size) { | |||
36 | } | 36 | } |
37 | } | 37 | } |
38 | 38 | ||
39 | void filter_init(int fd) { | 39 | void filter_init(int fd, bool native) { |
40 | struct sock_filter filter[] = { | 40 | struct sock_filter filter_native[] = { |
41 | VALIDATE_ARCHITECTURE, | 41 | VALIDATE_ARCHITECTURE, |
42 | #if defined(__x86_64__) | 42 | #if defined(__x86_64__) |
43 | EXAMINE_SYSCALL, | 43 | EXAMINE_SYSCALL, |
@@ -46,6 +46,10 @@ void filter_init(int fd) { | |||
46 | EXAMINE_SYSCALL | 46 | EXAMINE_SYSCALL |
47 | #endif | 47 | #endif |
48 | }; | 48 | }; |
49 | struct sock_filter filter_32[] = { | ||
50 | VALIDATE_ARCHITECTURE_32, | ||
51 | EXAMINE_SYSCALL | ||
52 | }; | ||
49 | 53 | ||
50 | #if 0 | 54 | #if 0 |
51 | { | 55 | { |
@@ -57,7 +61,10 @@ void filter_init(int fd) { | |||
57 | } | 61 | } |
58 | #endif | 62 | #endif |
59 | 63 | ||
60 | write_to_file(fd, filter, sizeof(filter)); | 64 | if (native) |
65 | write_to_file(fd, filter_native, sizeof(filter_native)); | ||
66 | else | ||
67 | write_to_file(fd, filter_32, sizeof(filter_32)); | ||
61 | } | 68 | } |
62 | 69 | ||
63 | static void write_whitelist(int fd, int syscall) { | 70 | static void write_whitelist(int fd, int syscall) { |
@@ -74,9 +81,10 @@ static void write_blacklist(int fd, int syscall) { | |||
74 | write_to_file(fd, filter, sizeof(filter)); | 81 | write_to_file(fd, filter, sizeof(filter)); |
75 | } | 82 | } |
76 | 83 | ||
77 | void filter_add_whitelist(int fd, int syscall, int arg, void *ptrarg) { | 84 | void filter_add_whitelist(int fd, int syscall, int arg, void *ptrarg, bool native) { |
78 | (void) arg; | 85 | (void) arg; |
79 | (void) ptrarg; | 86 | (void) ptrarg; |
87 | (void) native; | ||
80 | 88 | ||
81 | if (syscall >= 0) { | 89 | if (syscall >= 0) { |
82 | write_whitelist(fd, syscall); | 90 | write_whitelist(fd, syscall); |
@@ -84,18 +92,20 @@ void filter_add_whitelist(int fd, int syscall, int arg, void *ptrarg) { | |||
84 | } | 92 | } |
85 | 93 | ||
86 | // handle seccomp list exceptions (seccomp x,y,!z) | 94 | // handle seccomp list exceptions (seccomp x,y,!z) |
87 | void filter_add_whitelist_for_excluded(int fd, int syscall, int arg, void *ptrarg) { | 95 | void filter_add_whitelist_for_excluded(int fd, int syscall, int arg, void *ptrarg, bool native) { |
88 | (void) arg; | 96 | (void) arg; |
89 | (void) ptrarg; | 97 | (void) ptrarg; |
98 | (void) native; | ||
90 | 99 | ||
91 | if (syscall < 0) { | 100 | if (syscall < 0) { |
92 | write_whitelist(fd, -syscall); | 101 | write_whitelist(fd, -syscall); |
93 | } | 102 | } |
94 | } | 103 | } |
95 | 104 | ||
96 | void filter_add_blacklist(int fd, int syscall, int arg, void *ptrarg) { | 105 | void filter_add_blacklist(int fd, int syscall, int arg, void *ptrarg, bool native) { |
97 | (void) arg; | 106 | (void) arg; |
98 | (void) ptrarg; | 107 | (void) ptrarg; |
108 | (void) native; | ||
99 | 109 | ||
100 | if (syscall >= 0) { | 110 | if (syscall >= 0) { |
101 | write_blacklist(fd, syscall); | 111 | write_blacklist(fd, syscall); |
@@ -103,17 +113,20 @@ void filter_add_blacklist(int fd, int syscall, int arg, void *ptrarg) { | |||
103 | } | 113 | } |
104 | 114 | ||
105 | // handle seccomp list exceptions (seccomp x,y,!z) | 115 | // handle seccomp list exceptions (seccomp x,y,!z) |
106 | void filter_add_blacklist_for_excluded(int fd, int syscall, int arg, void *ptrarg) { | 116 | void filter_add_blacklist_for_excluded(int fd, int syscall, int arg, void *ptrarg, bool native) { |
107 | (void) arg; | 117 | (void) arg; |
108 | (void) ptrarg; | 118 | (void) ptrarg; |
119 | (void) native; | ||
109 | 120 | ||
110 | if (syscall < 0) { | 121 | if (syscall < 0) { |
111 | write_blacklist(fd, -syscall); | 122 | write_blacklist(fd, -syscall); |
112 | } | 123 | } |
113 | } | 124 | } |
114 | 125 | ||
115 | void filter_add_errno(int fd, int syscall, int arg, void *ptrarg) { | 126 | void filter_add_errno(int fd, int syscall, int arg, void *ptrarg, bool native) { |
116 | (void) ptrarg; | 127 | (void) ptrarg; |
128 | (void) native; | ||
129 | |||
117 | struct sock_filter filter[] = { | 130 | struct sock_filter filter[] = { |
118 | BLACKLIST_ERRNO(syscall, arg) | 131 | BLACKLIST_ERRNO(syscall, arg) |
119 | }; | 132 | }; |
diff --git a/src/include/rundefs.h b/src/include/rundefs.h index 1cfeee28d..32f5ff12c 100644 --- a/src/include/rundefs.h +++ b/src/include/rundefs.h | |||
@@ -62,13 +62,17 @@ | |||
62 | #define RUN_SECCOMP_PROTOCOL RUN_SECCOMP_DIR "/seccomp.protocol" // protocol filter | 62 | #define RUN_SECCOMP_PROTOCOL RUN_SECCOMP_DIR "/seccomp.protocol" // protocol filter |
63 | #define RUN_SECCOMP_CFG RUN_SECCOMP_DIR "/seccomp" // configured filter | 63 | #define RUN_SECCOMP_CFG RUN_SECCOMP_DIR "/seccomp" // configured filter |
64 | #define RUN_SECCOMP_32 RUN_SECCOMP_DIR "/seccomp.32" // 32bit arch filter installed on 64bit architectures | 64 | #define RUN_SECCOMP_32 RUN_SECCOMP_DIR "/seccomp.32" // 32bit arch filter installed on 64bit architectures |
65 | #define RUN_SECCOMP_MDWX RUN_SECCOMP_DIR "/seccomp.mdwx" // filter for memory-deny-write-execute | 65 | #define RUN_SECCOMP_MDWX RUN_SECCOMP_DIR "/seccomp.mdwx" // filter for memory-deny-write-execute |
66 | #define RUN_SECCOMP_MDWX_32 RUN_SECCOMP_DIR "/seccomp.mdwx.32" | ||
66 | #define RUN_SECCOMP_BLOCK_SECONDARY RUN_SECCOMP_DIR "/seccomp.block_secondary" // secondary arch blocking filter | 67 | #define RUN_SECCOMP_BLOCK_SECONDARY RUN_SECCOMP_DIR "/seccomp.block_secondary" // secondary arch blocking filter |
67 | #define RUN_SECCOMP_POSTEXEC RUN_SECCOMP_DIR "/seccomp.postexec" // filter for post-exec library | 68 | #define RUN_SECCOMP_POSTEXEC RUN_SECCOMP_DIR "/seccomp.postexec" // filter for post-exec library |
69 | #define RUN_SECCOMP_POSTEXEC_32 RUN_SECCOMP_DIR "/seccomp.postexec32" // filter for post-exec library | ||
68 | #define PATH_SECCOMP_DEFAULT LIBDIR "/firejail/seccomp" // default filter built during make | 70 | #define PATH_SECCOMP_DEFAULT LIBDIR "/firejail/seccomp" // default filter built during make |
69 | #define PATH_SECCOMP_DEFAULT_DEBUG LIBDIR "/firejail/seccomp.debug" // default filter built during make | 71 | #define PATH_SECCOMP_DEFAULT_DEBUG LIBDIR "/firejail/seccomp.debug" // debug filter built during make |
70 | #define PATH_SECCOMP_32 LIBDIR "/firejail/seccomp.32" // 32bit arch filter built during make | 72 | #define PATH_SECCOMP_32 LIBDIR "/firejail/seccomp.32" // 32bit arch filter built during make |
71 | #define PATH_SECCOMP_MDWX LIBDIR "/firejail/seccomp.mdwx" // filter for memory-deny-write-execute built during make | 73 | #define PATH_SECCOMP_DEBUG_32 LIBDIR "/firejail/seccomp.debug32" // 32bit arch debug filter built during make |
74 | #define PATH_SECCOMP_MDWX LIBDIR "/firejail/seccomp.mdwx" // filter for memory-deny-write-execute built during make | ||
75 | #define PATH_SECCOMP_MDWX_32 LIBDIR "/firejail/seccomp.mdwx.32" | ||
72 | #define PATH_SECCOMP_BLOCK_SECONDARY LIBDIR "/firejail/seccomp.block_secondary" // secondary arch blocking filter built during make | 76 | #define PATH_SECCOMP_BLOCK_SECONDARY LIBDIR "/firejail/seccomp.block_secondary" // secondary arch blocking filter built during make |
73 | 77 | ||
74 | 78 | ||
diff --git a/src/include/syscall.h b/src/include/syscall.h index e11c56a05..9841fc7ab 100644 --- a/src/include/syscall.h +++ b/src/include/syscall.h | |||
@@ -17,5195 +17,28 @@ | |||
17 | * with this program; if not, write to the Free Software Foundation, Inc., | 17 | * with this program; if not, write to the Free Software Foundation, Inc., |
18 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | 18 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. |
19 | */ | 19 | */ |
20 | #ifndef SYSCALL_H | ||
21 | #define SYSCALL_H | ||
22 | |||
23 | #include <stdbool.h> | ||
24 | |||
25 | // main.c | ||
26 | extern int arg_quiet; | ||
27 | |||
28 | // seccomp_file.c or dummy versions in firejail/main.c and fsec-print/main.c | ||
29 | void filter_add_errno(int fd, int syscall, int arg, void *ptrarg, bool native); | ||
30 | |||
31 | // errno.c | ||
32 | void errno_print(void); | ||
33 | int errno_find_name(const char *name); | ||
34 | char *errno_find_nr(int nr); | ||
35 | |||
36 | // syscall.c | ||
37 | void syscall_print(void); | ||
38 | void syscall_print_32(void); | ||
39 | typedef void (filter_fn)(int fd, int syscall, int arg, void *ptrarg, bool native); | ||
40 | int syscall_check_list(const char *slist, filter_fn *callback, int fd, int arg, void *ptrarg, bool native); | ||
41 | const char *syscall_find_nr(int nr); | ||
42 | void syscalls_in_list(const char *list, const char *slist, int fd, char **prelist, char **postlist, bool native); | ||
20 | 43 | ||
21 | // content extracted from /bits/syscall.h file form glibc 2.22 | ||
22 | // using ../tools/extract_syscall tool | ||
23 | #if !defined __x86_64__ | ||
24 | #ifdef SYS__llseek | ||
25 | #ifdef __NR__llseek | ||
26 | {"_llseek", __NR__llseek}, | ||
27 | #endif | ||
28 | #endif | ||
29 | #ifdef SYS__newselect | ||
30 | #ifdef __NR__newselect | ||
31 | {"_newselect", __NR__newselect}, | ||
32 | #endif | ||
33 | #endif | ||
34 | #ifdef SYS__sysctl | ||
35 | #ifdef __NR__sysctl | ||
36 | {"_sysctl", __NR__sysctl}, | ||
37 | #endif | ||
38 | #endif | ||
39 | #ifdef SYS_accept4 | ||
40 | #ifdef __NR_accept4 | ||
41 | {"accept4", __NR_accept4}, | ||
42 | #endif | ||
43 | #endif | ||
44 | #ifdef SYS_access | ||
45 | #ifdef __NR_access | ||
46 | {"access", __NR_access}, | ||
47 | #endif | ||
48 | #endif | ||
49 | #ifdef SYS_acct | ||
50 | #ifdef __NR_acct | ||
51 | {"acct", __NR_acct}, | ||
52 | #endif | ||
53 | #endif | ||
54 | #ifdef SYS_add_key | ||
55 | #ifdef __NR_add_key | ||
56 | {"add_key", __NR_add_key}, | ||
57 | #endif | ||
58 | #endif | ||
59 | #ifdef SYS_adjtimex | ||
60 | #ifdef __NR_adjtimex | ||
61 | {"adjtimex", __NR_adjtimex}, | ||
62 | #endif | ||
63 | #endif | ||
64 | #ifdef SYS_afs_syscall | ||
65 | #ifdef __NR_afs_syscall | ||
66 | {"afs_syscall", __NR_afs_syscall}, | ||
67 | #endif | ||
68 | #endif | ||
69 | #ifdef SYS_alarm | ||
70 | #ifdef __NR_alarm | ||
71 | {"alarm", __NR_alarm}, | ||
72 | #endif | ||
73 | #endif | ||
74 | #ifdef SYS_arch_prctl | ||
75 | #ifdef __NR_arch_prctl | ||
76 | {"arch_prctl", __NR_arch_prctl}, | ||
77 | #endif | ||
78 | #endif | ||
79 | #ifdef SYS_bdflush | ||
80 | #ifdef __NR_bdflush | ||
81 | {"bdflush", __NR_bdflush}, | ||
82 | #endif | ||
83 | #endif | ||
84 | #ifdef SYS_bind | ||
85 | #ifdef __NR_bind | ||
86 | {"bind", __NR_bind}, | ||
87 | #endif | ||
88 | #endif | ||
89 | #ifdef SYS_bpf | ||
90 | #ifdef __NR_bpf | ||
91 | {"bpf", __NR_bpf}, | ||
92 | #endif | ||
93 | #endif | ||
94 | #ifdef SYS_break | ||
95 | #ifdef __NR_break | ||
96 | {"break", __NR_break}, | ||
97 | #endif | ||
98 | #endif | ||
99 | #ifdef SYS_brk | ||
100 | #ifdef __NR_brk | ||
101 | {"brk", __NR_brk}, | ||
102 | #endif | ||
103 | #endif | ||
104 | #ifdef SYS_capget | ||
105 | #ifdef __NR_capget | ||
106 | {"capget", __NR_capget}, | ||
107 | #endif | ||
108 | #endif | ||
109 | #ifdef SYS_capset | ||
110 | #ifdef __NR_capset | ||
111 | {"capset", __NR_capset}, | ||
112 | #endif | ||
113 | #endif | ||
114 | #ifdef SYS_chdir | ||
115 | #ifdef __NR_chdir | ||
116 | {"chdir", __NR_chdir}, | ||
117 | #endif | ||
118 | #endif | ||
119 | #ifdef SYS_chmod | ||
120 | #ifdef __NR_chmod | ||
121 | {"chmod", __NR_chmod}, | ||
122 | #endif | ||
123 | #endif | ||
124 | #ifdef SYS_chown | ||
125 | #ifdef __NR_chown | ||
126 | {"chown", __NR_chown}, | ||
127 | #endif | ||
128 | #endif | ||
129 | #ifdef SYS_chown32 | ||
130 | #ifdef __NR_chown32 | ||
131 | {"chown32", __NR_chown32}, | ||
132 | #endif | ||
133 | #endif | ||
134 | #ifdef SYS_chroot | ||
135 | #ifdef __NR_chroot | ||
136 | {"chroot", __NR_chroot}, | ||
137 | #endif | ||
138 | #endif | ||
139 | #ifdef SYS_clock_adjtime | ||
140 | #ifdef __NR_clock_adjtime | ||
141 | {"clock_adjtime", __NR_clock_adjtime}, | ||
142 | #endif | ||
143 | #endif | ||
144 | #ifdef SYS_clock_getres | ||
145 | #ifdef __NR_clock_getres | ||
146 | {"clock_getres", __NR_clock_getres}, | ||
147 | #endif | ||
148 | #endif | ||
149 | #ifdef SYS_clock_gettime | ||
150 | #ifdef __NR_clock_gettime | ||
151 | {"clock_gettime", __NR_clock_gettime}, | ||
152 | #endif | ||
153 | #endif | ||
154 | #ifdef SYS_clock_nanosleep | ||
155 | #ifdef __NR_clock_nanosleep | ||
156 | {"clock_nanosleep", __NR_clock_nanosleep}, | ||
157 | #endif | ||
158 | #endif | ||
159 | #ifdef SYS_clock_settime | ||
160 | #ifdef __NR_clock_settime | ||
161 | {"clock_settime", __NR_clock_settime}, | ||
162 | #endif | ||
163 | #endif | ||
164 | #ifdef SYS_clone | ||
165 | #ifdef __NR_clone | ||
166 | {"clone", __NR_clone}, | ||
167 | #endif | ||
168 | #endif | ||
169 | #ifdef SYS_close | ||
170 | #ifdef __NR_close | ||
171 | {"close", __NR_close}, | ||
172 | #endif | ||
173 | #endif | ||
174 | #ifdef SYS_connect | ||
175 | #ifdef __NR_connect | ||
176 | {"connect", __NR_connect}, | ||
177 | #endif | ||
178 | #endif | ||
179 | #ifdef SYS_copy_file_range | ||
180 | #ifdef __NR_copy_file_range | ||
181 | {"copy_file_range", __NR_copy_file_range}, | ||
182 | #endif | ||
183 | #endif | ||
184 | #ifdef SYS_creat | ||
185 | #ifdef __NR_creat | ||
186 | {"creat", __NR_creat}, | ||
187 | #endif | ||
188 | #endif | ||
189 | #ifdef SYS_create_module | ||
190 | #ifdef __NR_create_module | ||
191 | {"create_module", __NR_create_module}, | ||
192 | #endif | ||
193 | #endif | ||
194 | #ifdef SYS_delete_module | ||
195 | #ifdef __NR_delete_module | ||
196 | {"delete_module", __NR_delete_module}, | ||
197 | #endif | ||
198 | #endif | ||
199 | #ifdef SYS_dup | ||
200 | #ifdef __NR_dup | ||
201 | {"dup", __NR_dup}, | ||
202 | #endif | ||
203 | #endif | ||
204 | #ifdef SYS_dup2 | ||
205 | #ifdef __NR_dup2 | ||
206 | {"dup2", __NR_dup2}, | ||
207 | #endif | ||
208 | #endif | ||
209 | #ifdef SYS_dup3 | ||
210 | #ifdef __NR_dup3 | ||
211 | {"dup3", __NR_dup3}, | ||
212 | #endif | ||
213 | #endif | ||
214 | #ifdef SYS_epoll_create | ||
215 | #ifdef __NR_epoll_create | ||
216 | {"epoll_create", __NR_epoll_create}, | ||
217 | #endif | ||
218 | #endif | ||
219 | #ifdef SYS_epoll_create1 | ||
220 | #ifdef __NR_epoll_create1 | ||
221 | {"epoll_create1", __NR_epoll_create1}, | ||
222 | #endif | ||
223 | #endif | ||
224 | #ifdef SYS_epoll_ctl | ||
225 | #ifdef __NR_epoll_ctl | ||
226 | {"epoll_ctl", __NR_epoll_ctl}, | ||
227 | #endif | ||
228 | #endif | ||
229 | #ifdef SYS_epoll_pwait | ||
230 | #ifdef __NR_epoll_pwait | ||
231 | {"epoll_pwait", __NR_epoll_pwait}, | ||
232 | #endif | ||
233 | #endif | ||
234 | #ifdef SYS_epoll_wait | ||
235 | #ifdef __NR_epoll_wait | ||
236 | {"epoll_wait", __NR_epoll_wait}, | ||
237 | #endif | ||
238 | #endif | ||
239 | #ifdef SYS_eventfd | ||
240 | #ifdef __NR_eventfd | ||
241 | {"eventfd", __NR_eventfd}, | ||
242 | #endif | ||
243 | #endif | ||
244 | #ifdef SYS_eventfd2 | ||
245 | #ifdef __NR_eventfd2 | ||
246 | {"eventfd2", __NR_eventfd2}, | ||
247 | #endif | ||
248 | #endif | ||
249 | #ifdef SYS_execve | ||
250 | #ifdef __NR_execve | ||
251 | {"execve", __NR_execve}, | ||
252 | #endif | ||
253 | #endif | ||
254 | #ifdef SYS_execveat | ||
255 | #ifdef __NR_execveat | ||
256 | {"execveat", __NR_execveat}, | ||
257 | #endif | ||
258 | #endif | ||
259 | #ifdef SYS_exit | ||
260 | #ifdef __NR_exit | ||
261 | {"exit", __NR_exit}, | ||
262 | #endif | ||
263 | #endif | ||
264 | #ifdef SYS_exit_group | ||
265 | #ifdef __NR_exit_group | ||
266 | {"exit_group", __NR_exit_group}, | ||
267 | #endif | ||
268 | #endif | ||
269 | #ifdef SYS_faccessat | ||
270 | #ifdef __NR_faccessat | ||
271 | {"faccessat", __NR_faccessat}, | ||
272 | #endif | ||
273 | #endif | ||
274 | #ifdef SYS_fadvise64 | ||
275 | #ifdef __NR_fadvise64 | ||
276 | {"fadvise64", __NR_fadvise64}, | ||
277 | #endif | ||
278 | #endif | ||
279 | #ifdef SYS_fadvise64_64 | ||
280 | #ifdef __NR_fadvise64_64 | ||
281 | {"fadvise64_64", __NR_fadvise64_64}, | ||
282 | #endif | ||
283 | #endif | ||
284 | #ifdef SYS_fallocate | ||
285 | #ifdef __NR_fallocate | ||
286 | {"fallocate", __NR_fallocate}, | ||
287 | #endif | ||
288 | #endif | ||
289 | #ifdef SYS_fanotify_init | ||
290 | #ifdef __NR_fanotify_init | ||
291 | {"fanotify_init", __NR_fanotify_init}, | ||
292 | #endif | ||
293 | #endif | ||
294 | #ifdef SYS_fanotify_mark | ||
295 | #ifdef __NR_fanotify_mark | ||
296 | {"fanotify_mark", __NR_fanotify_mark}, | ||
297 | #endif | ||
298 | #endif | ||
299 | #ifdef SYS_fchdir | ||
300 | #ifdef __NR_fchdir | ||
301 | {"fchdir", __NR_fchdir}, | ||
302 | #endif | ||
303 | #endif | ||
304 | #ifdef SYS_fchmod | ||
305 | #ifdef __NR_fchmod | ||
306 | {"fchmod", __NR_fchmod}, | ||
307 | #endif | ||
308 | #endif | ||
309 | #ifdef SYS_fchmodat | ||
310 | #ifdef __NR_fchmodat | ||
311 | {"fchmodat", __NR_fchmodat}, | ||
312 | #endif | ||
313 | #endif | ||
314 | #ifdef SYS_fchown | ||
315 | #ifdef __NR_fchown | ||
316 | {"fchown", __NR_fchown}, | ||
317 | #endif | ||
318 | #endif | ||
319 | #ifdef SYS_fchown32 | ||
320 | #ifdef __NR_fchown32 | ||
321 | {"fchown32", __NR_fchown32}, | ||
322 | #endif | ||
323 | #endif | ||
324 | #ifdef SYS_fchownat | ||
325 | #ifdef __NR_fchownat | ||
326 | {"fchownat", __NR_fchownat}, | ||
327 | #endif | ||
328 | #endif | ||
329 | #ifdef SYS_fcntl | ||
330 | #ifdef __NR_fcntl | ||
331 | {"fcntl", __NR_fcntl}, | ||
332 | #endif | ||
333 | #endif | ||
334 | #ifdef SYS_fcntl64 | ||
335 | #ifdef __NR_fcntl64 | ||
336 | {"fcntl64", __NR_fcntl64}, | ||
337 | #endif | ||
338 | #endif | ||
339 | #ifdef SYS_fdatasync | ||
340 | #ifdef __NR_fdatasync | ||
341 | {"fdatasync", __NR_fdatasync}, | ||
342 | #endif | ||
343 | #endif | ||
344 | #ifdef SYS_fgetxattr | ||
345 | #ifdef __NR_fgetxattr | ||
346 | {"fgetxattr", __NR_fgetxattr}, | ||
347 | #endif | ||
348 | #endif | ||
349 | #ifdef SYS_finit_module | ||
350 | #ifdef __NR_finit_module | ||
351 | {"finit_module", __NR_finit_module}, | ||
352 | #endif | ||
353 | #endif | ||
354 | #ifdef SYS_flistxattr | ||
355 | #ifdef __NR_flistxattr | ||
356 | {"flistxattr", __NR_flistxattr}, | ||
357 | #endif | ||
358 | #endif | ||
359 | #ifdef SYS_flock | ||
360 | #ifdef __NR_flock | ||
361 | {"flock", __NR_flock}, | ||
362 | #endif | ||
363 | #endif | ||
364 | #ifdef SYS_fork | ||
365 | #ifdef __NR_fork | ||
366 | {"fork", __NR_fork}, | ||
367 | #endif | ||
368 | #endif | ||
369 | #ifdef SYS_fremovexattr | ||
370 | #ifdef __NR_fremovexattr | ||
371 | {"fremovexattr", __NR_fremovexattr}, | ||
372 | #endif | ||
373 | #endif | ||
374 | #ifdef SYS_fsetxattr | ||
375 | #ifdef __NR_fsetxattr | ||
376 | {"fsetxattr", __NR_fsetxattr}, | ||
377 | #endif | ||
378 | #endif | ||
379 | #ifdef SYS_fstat | ||
380 | #ifdef __NR_fstat | ||
381 | {"fstat", __NR_fstat}, | ||
382 | #endif | ||
383 | #endif | ||
384 | #ifdef SYS_fstat64 | ||
385 | #ifdef __NR_fstat64 | ||
386 | {"fstat64", __NR_fstat64}, | ||
387 | #endif | ||
388 | #endif | ||
389 | #ifdef SYS_fstatat64 | ||
390 | #ifdef __NR_fstatat64 | ||
391 | {"fstatat64", __NR_fstatat64}, | ||
392 | #endif | ||
393 | #endif | ||
394 | #ifdef SYS_fstatfs | ||
395 | #ifdef __NR_fstatfs | ||
396 | {"fstatfs", __NR_fstatfs}, | ||
397 | #endif | ||
398 | #endif | ||
399 | #ifdef SYS_fstatfs64 | ||
400 | #ifdef __NR_fstatfs64 | ||
401 | {"fstatfs64", __NR_fstatfs64}, | ||
402 | #endif | ||
403 | #endif | ||
404 | #ifdef SYS_fsync | ||
405 | #ifdef __NR_fsync | ||
406 | {"fsync", __NR_fsync}, | ||
407 | #endif | ||
408 | #endif | ||
409 | #ifdef SYS_ftime | ||
410 | #ifdef __NR_ftime | ||
411 | {"ftime", __NR_ftime}, | ||
412 | #endif | ||
413 | #endif | ||
414 | #ifdef SYS_ftruncate | ||
415 | #ifdef __NR_ftruncate | ||
416 | {"ftruncate", __NR_ftruncate}, | ||
417 | #endif | ||
418 | #endif | ||
419 | #ifdef SYS_ftruncate64 | ||
420 | #ifdef __NR_ftruncate64 | ||
421 | {"ftruncate64", __NR_ftruncate64}, | ||
422 | #endif | ||
423 | #endif | ||
424 | #ifdef SYS_futex | ||
425 | #ifdef __NR_futex | ||
426 | {"futex", __NR_futex}, | ||
427 | #endif | ||
428 | #endif | ||
429 | #ifdef SYS_futimesat | ||
430 | #ifdef __NR_futimesat | ||
431 | {"futimesat", __NR_futimesat}, | ||
432 | #endif | ||
433 | #endif | ||
434 | #ifdef SYS_get_kernel_syms | ||
435 | #ifdef __NR_get_kernel_syms | ||
436 | {"get_kernel_syms", __NR_get_kernel_syms}, | ||
437 | #endif | ||
438 | #endif | ||
439 | #ifdef SYS_get_mempolicy | ||
440 | #ifdef __NR_get_mempolicy | ||
441 | {"get_mempolicy", __NR_get_mempolicy}, | ||
442 | #endif | ||
443 | #endif | ||
444 | #ifdef SYS_get_robust_list | ||
445 | #ifdef __NR_get_robust_list | ||
446 | {"get_robust_list", __NR_get_robust_list}, | ||
447 | #endif | ||
448 | #endif | ||
449 | #ifdef SYS_get_thread_area | ||
450 | #ifdef __NR_get_thread_area | ||
451 | {"get_thread_area", __NR_get_thread_area}, | ||
452 | #endif | ||
453 | #endif | ||
454 | #ifdef SYS_getcpu | ||
455 | #ifdef __NR_getcpu | ||
456 | {"getcpu", __NR_getcpu}, | ||
457 | #endif | ||
458 | #endif | ||
459 | #ifdef SYS_getcwd | ||
460 | #ifdef __NR_getcwd | ||
461 | {"getcwd", __NR_getcwd}, | ||
462 | #endif | ||
463 | #endif | ||
464 | #ifdef SYS_getdents | ||
465 | #ifdef __NR_getdents | ||
466 | {"getdents", __NR_getdents}, | ||
467 | #endif | ||
468 | #endif | ||
469 | #ifdef SYS_getdents64 | ||
470 | #ifdef __NR_getdents64 | ||
471 | {"getdents64", __NR_getdents64}, | ||
472 | #endif | ||
473 | #endif | ||
474 | #ifdef SYS_getegid | ||
475 | #ifdef __NR_getegid | ||
476 | {"getegid", __NR_getegid}, | ||
477 | #endif | ||
478 | #endif | ||
479 | #ifdef SYS_getegid32 | ||
480 | #ifdef __NR_getegid32 | ||
481 | {"getegid32", __NR_getegid32}, | ||
482 | #endif | ||
483 | #endif | ||
484 | #ifdef SYS_geteuid | ||
485 | #ifdef __NR_geteuid | ||
486 | {"geteuid", __NR_geteuid}, | ||
487 | #endif | ||
488 | #endif | ||
489 | #ifdef SYS_geteuid32 | ||
490 | #ifdef __NR_geteuid32 | ||
491 | {"geteuid32", __NR_geteuid32}, | ||
492 | #endif | ||
493 | #endif | ||
494 | #ifdef SYS_getgid | ||
495 | #ifdef __NR_getgid | ||
496 | {"getgid", __NR_getgid}, | ||
497 | #endif | ||
498 | #endif | ||
499 | #ifdef SYS_getgid32 | ||
500 | #ifdef __NR_getgid32 | ||
501 | {"getgid32", __NR_getgid32}, | ||
502 | #endif | ||
503 | #endif | ||
504 | #ifdef SYS_getgroups | ||
505 | #ifdef __NR_getgroups | ||
506 | {"getgroups", __NR_getgroups}, | ||
507 | #endif | ||
508 | #endif | ||
509 | #ifdef SYS_getgroups32 | ||
510 | #ifdef __NR_getgroups32 | ||
511 | {"getgroups32", __NR_getgroups32}, | ||
512 | #endif | ||
513 | #endif | ||
514 | #ifdef SYS_getitimer | ||
515 | #ifdef __NR_getitimer | ||
516 | {"getitimer", __NR_getitimer}, | ||
517 | #endif | ||
518 | #endif | ||
519 | #ifdef SYS_getpeername | ||
520 | #ifdef __NR_getpeername | ||
521 | {"getpeername", __NR_getpeername}, | ||
522 | #endif | ||
523 | #endif | ||
524 | #ifdef SYS_getpgid | ||
525 | #ifdef __NR_getpgid | ||
526 | {"getpgid", __NR_getpgid}, | ||
527 | #endif | ||
528 | #endif | ||
529 | #ifdef SYS_getpgrp | ||
530 | #ifdef __NR_getpgrp | ||
531 | {"getpgrp", __NR_getpgrp}, | ||
532 | #endif | ||
533 | #endif | ||
534 | #ifdef SYS_getpid | ||
535 | #ifdef __NR_getpid | ||
536 | {"getpid", __NR_getpid}, | ||
537 | #endif | ||
538 | #endif | ||
539 | #ifdef SYS_getpmsg | ||
540 | #ifdef __NR_getpmsg | ||
541 | {"getpmsg", __NR_getpmsg}, | ||
542 | #endif | ||
543 | #endif | ||
544 | #ifdef SYS_getppid | ||
545 | #ifdef __NR_getppid | ||
546 | {"getppid", __NR_getppid}, | ||
547 | #endif | ||
548 | #endif | ||
549 | #ifdef SYS_getpriority | ||
550 | #ifdef __NR_getpriority | ||
551 | {"getpriority", __NR_getpriority}, | ||
552 | #endif | ||
553 | #endif | ||
554 | #ifdef SYS_getrandom | ||
555 | #ifdef __NR_getrandom | ||
556 | {"getrandom", __NR_getrandom}, | ||
557 | #endif | ||
558 | #endif | ||
559 | #ifdef SYS_getresgid | ||
560 | #ifdef __NR_getresgid | ||
561 | {"getresgid", __NR_getresgid}, | ||
562 | #endif | ||
563 | #endif | ||
564 | #ifdef SYS_getresgid32 | ||
565 | #ifdef __NR_getresgid32 | ||
566 | {"getresgid32", __NR_getresgid32}, | ||
567 | #endif | ||
568 | #endif | ||
569 | #ifdef SYS_getresuid | ||
570 | #ifdef __NR_getresuid | ||
571 | {"getresuid", __NR_getresuid}, | ||
572 | #endif | ||
573 | #endif | ||
574 | #ifdef SYS_getresuid32 | ||
575 | #ifdef __NR_getresuid32 | ||
576 | {"getresuid32", __NR_getresuid32}, | ||
577 | #endif | ||
578 | #endif | ||
579 | #ifdef SYS_getrlimit | ||
580 | #ifdef __NR_getrlimit | ||
581 | {"getrlimit", __NR_getrlimit}, | ||
582 | #endif | ||
583 | #endif | ||
584 | #ifdef SYS_getrusage | ||
585 | #ifdef __NR_getrusage | ||
586 | {"getrusage", __NR_getrusage}, | ||
587 | #endif | ||
588 | #endif | ||
589 | #ifdef SYS_getsid | ||
590 | #ifdef __NR_getsid | ||
591 | {"getsid", __NR_getsid}, | ||
592 | #endif | ||
593 | #endif | ||
594 | #ifdef SYS_getsockname | ||
595 | #ifdef __NR_getsockname | ||
596 | {"getsockname", __NR_getsockname}, | ||
597 | #endif | ||
598 | #endif | ||
599 | #ifdef SYS_getsockopt | ||
600 | #ifdef __NR_getsockopt | ||
601 | {"getsockopt", __NR_getsockopt}, | ||
602 | #endif | ||
603 | #endif | ||
604 | #ifdef SYS_gettid | ||
605 | #ifdef __NR_gettid | ||
606 | {"gettid", __NR_gettid}, | ||
607 | #endif | ||
608 | #endif | ||
609 | #ifdef SYS_gettimeofday | ||
610 | #ifdef __NR_gettimeofday | ||
611 | {"gettimeofday", __NR_gettimeofday}, | ||
612 | #endif | ||
613 | #endif | ||
614 | #ifdef SYS_getuid | ||
615 | #ifdef __NR_getuid | ||
616 | {"getuid", __NR_getuid}, | ||
617 | #endif | ||
618 | #endif | ||
619 | #ifdef SYS_getuid32 | ||
620 | #ifdef __NR_getuid32 | ||
621 | {"getuid32", __NR_getuid32}, | ||
622 | #endif | ||
623 | #endif | ||
624 | #ifdef SYS_getxattr | ||
625 | #ifdef __NR_getxattr | ||
626 | {"getxattr", __NR_getxattr}, | ||
627 | #endif | ||
628 | #endif | ||
629 | #ifdef SYS_gtty | ||
630 | #ifdef __NR_gtty | ||
631 | {"gtty", __NR_gtty}, | ||
632 | #endif | ||
633 | #endif | ||
634 | #ifdef SYS_idle | ||
635 | #ifdef __NR_idle | ||
636 | {"idle", __NR_idle}, | ||
637 | #endif | ||
638 | #endif | ||
639 | #ifdef SYS_init_module | ||
640 | #ifdef __NR_init_module | ||
641 | {"init_module", __NR_init_module}, | ||
642 | #endif | ||
643 | #endif | ||
644 | #ifdef SYS_inotify_add_watch | ||
645 | #ifdef __NR_inotify_add_watch | ||
646 | {"inotify_add_watch", __NR_inotify_add_watch}, | ||
647 | #endif | ||
648 | #endif | ||
649 | #ifdef SYS_inotify_init | ||
650 | #ifdef __NR_inotify_init | ||
651 | {"inotify_init", __NR_inotify_init}, | ||
652 | #endif | ||
653 | #endif | ||
654 | #ifdef SYS_inotify_init1 | ||
655 | #ifdef __NR_inotify_init1 | ||
656 | {"inotify_init1", __NR_inotify_init1}, | ||
657 | #endif | ||
658 | #endif | ||
659 | #ifdef SYS_inotify_rm_watch | ||
660 | #ifdef __NR_inotify_rm_watch | ||
661 | {"inotify_rm_watch", __NR_inotify_rm_watch}, | ||
662 | #endif | ||
663 | #endif | ||
664 | #ifdef SYS_io_cancel | ||
665 | #ifdef __NR_io_cancel | ||
666 | {"io_cancel", __NR_io_cancel}, | ||
667 | #endif | ||
668 | #endif | ||
669 | #ifdef SYS_io_destroy | ||
670 | #ifdef __NR_io_destroy | ||
671 | {"io_destroy", __NR_io_destroy}, | ||
672 | #endif | ||
673 | #endif | ||
674 | #ifdef SYS_io_getevents | ||
675 | #ifdef __NR_io_getevents | ||
676 | {"io_getevents", __NR_io_getevents}, | ||
677 | #endif | ||
678 | #endif | ||
679 | #ifdef SYS_io_setup | ||
680 | #ifdef __NR_io_setup | ||
681 | {"io_setup", __NR_io_setup}, | ||
682 | #endif | ||
683 | #endif | ||
684 | #ifdef SYS_io_submit | ||
685 | #ifdef __NR_io_submit | ||
686 | {"io_submit", __NR_io_submit}, | ||
687 | #endif | ||
688 | #endif | ||
689 | #ifdef SYS_ioctl | ||
690 | #ifdef __NR_ioctl | ||
691 | {"ioctl", __NR_ioctl}, | ||
692 | #endif | ||
693 | #endif | ||
694 | #ifdef SYS_ioperm | ||
695 | #ifdef __NR_ioperm | ||
696 | {"ioperm", __NR_ioperm}, | ||
697 | #endif | ||
698 | #endif | ||
699 | #ifdef SYS_iopl | ||
700 | #ifdef __NR_iopl | ||
701 | {"iopl", __NR_iopl}, | ||
702 | #endif | ||
703 | #endif | ||
704 | #ifdef SYS_ioprio_get | ||
705 | #ifdef __NR_ioprio_get | ||
706 | {"ioprio_get", __NR_ioprio_get}, | ||
707 | #endif | ||
708 | #endif | ||
709 | #ifdef SYS_ioprio_set | ||
710 | #ifdef __NR_ioprio_set | ||
711 | {"ioprio_set", __NR_ioprio_set}, | ||
712 | #endif | ||
713 | #endif | ||
714 | #ifdef SYS_ipc | ||
715 | #ifdef __NR_ipc | ||
716 | {"ipc", __NR_ipc}, | ||
717 | #endif | ||
718 | #endif | ||
719 | #ifdef SYS_kcmp | ||
720 | #ifdef __NR_kcmp | ||
721 | {"kcmp", __NR_kcmp}, | ||
722 | #endif | ||
723 | #endif | ||
724 | #ifdef SYS_kexec_load | ||
725 | #ifdef __NR_kexec_load | ||
726 | {"kexec_load", __NR_kexec_load}, | ||
727 | #endif | ||
728 | #endif | ||
729 | #ifdef SYS_keyctl | ||
730 | #ifdef __NR_keyctl | ||
731 | {"keyctl", __NR_keyctl}, | ||
732 | #endif | ||
733 | #endif | ||
734 | #ifdef SYS_kill | ||
735 | #ifdef __NR_kill | ||
736 | {"kill", __NR_kill}, | ||
737 | #endif | ||
738 | #endif | ||
739 | #ifdef SYS_lchown | ||
740 | #ifdef __NR_lchown | ||
741 | {"lchown", __NR_lchown}, | ||
742 | #endif | ||
743 | #endif | ||
744 | #ifdef SYS_lchown32 | ||
745 | #ifdef __NR_lchown32 | ||
746 | {"lchown32", __NR_lchown32}, | ||
747 | #endif | ||
748 | #endif | ||
749 | #ifdef SYS_lgetxattr | ||
750 | #ifdef __NR_lgetxattr | ||
751 | {"lgetxattr", __NR_lgetxattr}, | ||
752 | #endif | ||
753 | #endif | ||
754 | #ifdef SYS_link | ||
755 | #ifdef __NR_link | ||
756 | {"link", __NR_link}, | ||
757 | #endif | ||
758 | #endif | ||
759 | #ifdef SYS_linkat | ||
760 | #ifdef __NR_linkat | ||
761 | {"linkat", __NR_linkat}, | ||
762 | #endif | ||
763 | #endif | ||
764 | #ifdef SYS_listen | ||
765 | #ifdef __NR_listen | ||
766 | {"listen", __NR_listen}, | ||
767 | #endif | ||
768 | #endif | ||
769 | #ifdef SYS_listxattr | ||
770 | #ifdef __NR_listxattr | ||
771 | {"listxattr", __NR_listxattr}, | ||
772 | #endif | ||
773 | #endif | ||
774 | #ifdef SYS_llistxattr | ||
775 | #ifdef __NR_llistxattr | ||
776 | {"llistxattr", __NR_llistxattr}, | ||
777 | #endif | ||
778 | #endif | ||
779 | #ifdef SYS_lock | ||
780 | #ifdef __NR_lock | ||
781 | {"lock", __NR_lock}, | ||
782 | #endif | ||
783 | #endif | ||
784 | #ifdef SYS_lookup_dcookie | ||
785 | #ifdef __NR_lookup_dcookie | ||
786 | {"lookup_dcookie", __NR_lookup_dcookie}, | ||
787 | #endif | ||
788 | #endif | ||
789 | #ifdef SYS_lremovexattr | ||
790 | #ifdef __NR_lremovexattr | ||
791 | {"lremovexattr", __NR_lremovexattr}, | ||
792 | #endif | ||
793 | #endif | ||
794 | #ifdef SYS_lseek | ||
795 | #ifdef __NR_lseek | ||
796 | {"lseek", __NR_lseek}, | ||
797 | #endif | ||
798 | #endif | ||
799 | #ifdef SYS_lsetxattr | ||
800 | #ifdef __NR_lsetxattr | ||
801 | {"lsetxattr", __NR_lsetxattr}, | ||
802 | #endif | ||
803 | #endif | ||
804 | #ifdef SYS_lstat | ||
805 | #ifdef __NR_lstat | ||
806 | {"lstat", __NR_lstat}, | ||
807 | #endif | ||
808 | #endif | ||
809 | #ifdef SYS_lstat64 | ||
810 | #ifdef __NR_lstat64 | ||
811 | {"lstat64", __NR_lstat64}, | ||
812 | #endif | ||
813 | #endif | ||
814 | #ifdef SYS_madvise | ||
815 | #ifdef __NR_madvise | ||
816 | {"madvise", __NR_madvise}, | ||
817 | #endif | ||
818 | #endif | ||
819 | #ifdef SYS_mbind | ||
820 | #ifdef __NR_mbind | ||
821 | {"mbind", __NR_mbind}, | ||
822 | #endif | ||
823 | #endif | ||
824 | #ifdef SYS_membarrier | ||
825 | #ifdef __NR_membarrier | ||
826 | {"membarrier", __NR_membarrier}, | ||
827 | #endif | ||
828 | #endif | ||
829 | #ifdef SYS_memfd_create | ||
830 | #ifdef __NR_memfd_create | ||
831 | {"memfd_create", __NR_memfd_create}, | ||
832 | #endif | ||
833 | #endif | ||
834 | #ifdef SYS_migrate_pages | ||
835 | #ifdef __NR_migrate_pages | ||
836 | {"migrate_pages", __NR_migrate_pages}, | ||
837 | #endif | ||
838 | #endif | ||
839 | #ifdef SYS_mincore | ||
840 | #ifdef __NR_mincore | ||
841 | {"mincore", __NR_mincore}, | ||
842 | #endif | ||
843 | #endif | ||
844 | #ifdef SYS_mkdir | ||
845 | #ifdef __NR_mkdir | ||
846 | {"mkdir", __NR_mkdir}, | ||
847 | #endif | ||
848 | #endif | ||
849 | #ifdef SYS_mkdirat | ||
850 | #ifdef __NR_mkdirat | ||
851 | {"mkdirat", __NR_mkdirat}, | ||
852 | #endif | ||
853 | #endif | ||
854 | #ifdef SYS_mknod | ||
855 | #ifdef __NR_mknod | ||
856 | {"mknod", __NR_mknod}, | ||
857 | #endif | ||
858 | #endif | ||
859 | #ifdef SYS_mknodat | ||
860 | #ifdef __NR_mknodat | ||
861 | {"mknodat", __NR_mknodat}, | ||
862 | #endif | ||
863 | #endif | ||
864 | #ifdef SYS_mlock | ||
865 | #ifdef __NR_mlock | ||
866 | {"mlock", __NR_mlock}, | ||
867 | #endif | ||
868 | #endif | ||
869 | #ifdef SYS_mlock2 | ||
870 | #ifdef __NR_mlock2 | ||
871 | {"mlock2", __NR_mlock2}, | ||
872 | #endif | ||
873 | #endif | ||
874 | #ifdef SYS_mlockall | ||
875 | #ifdef __NR_mlockall | ||
876 | {"mlockall", __NR_mlockall}, | ||
877 | #endif | ||
878 | #endif | ||
879 | #ifdef SYS_mmap | ||
880 | #ifdef __NR_mmap | ||
881 | {"mmap", __NR_mmap}, | ||
882 | #endif | ||
883 | #endif | ||
884 | #ifdef SYS_mmap2 | ||
885 | #ifdef __NR_mmap2 | ||
886 | {"mmap2", __NR_mmap2}, | ||
887 | #endif | ||
888 | #endif | ||
889 | #ifdef SYS_modify_ldt | ||
890 | #ifdef __NR_modify_ldt | ||
891 | {"modify_ldt", __NR_modify_ldt}, | ||
892 | #endif | ||
893 | #endif | ||
894 | #ifdef SYS_mount | ||
895 | #ifdef __NR_mount | ||
896 | {"mount", __NR_mount}, | ||
897 | #endif | ||
898 | #endif | ||
899 | #ifdef SYS_move_pages | ||
900 | #ifdef __NR_move_pages | ||
901 | {"move_pages", __NR_move_pages}, | ||
902 | #endif | ||
903 | #endif | ||
904 | #ifdef SYS_mprotect | ||
905 | #ifdef __NR_mprotect | ||
906 | {"mprotect", __NR_mprotect}, | ||
907 | #endif | ||
908 | #endif | ||
909 | #ifdef SYS_mpx | ||
910 | #ifdef __NR_mpx | ||
911 | {"mpx", __NR_mpx}, | ||
912 | #endif | ||
913 | #endif | ||
914 | #ifdef SYS_mq_getsetattr | ||
915 | #ifdef __NR_mq_getsetattr | ||
916 | {"mq_getsetattr", __NR_mq_getsetattr}, | ||
917 | #endif | ||
918 | #endif | ||
919 | #ifdef SYS_mq_notify | ||
920 | #ifdef __NR_mq_notify | ||
921 | {"mq_notify", __NR_mq_notify}, | ||
922 | #endif | ||
923 | #endif | ||
924 | #ifdef SYS_mq_open | ||
925 | #ifdef __NR_mq_open | ||
926 | {"mq_open", __NR_mq_open}, | ||
927 | #endif | ||
928 | #endif | ||
929 | #ifdef SYS_mq_timedreceive | ||
930 | #ifdef __NR_mq_timedreceive | ||
931 | {"mq_timedreceive", __NR_mq_timedreceive}, | ||
932 | #endif | ||
933 | #endif | ||
934 | #ifdef SYS_mq_timedsend | ||
935 | #ifdef __NR_mq_timedsend | ||
936 | {"mq_timedsend", __NR_mq_timedsend}, | ||
937 | #endif | ||
938 | #endif | ||
939 | #ifdef SYS_mq_unlink | ||
940 | #ifdef __NR_mq_unlink | ||
941 | {"mq_unlink", __NR_mq_unlink}, | ||
942 | #endif | ||
943 | #endif | ||
944 | #ifdef SYS_mremap | ||
945 | #ifdef __NR_mremap | ||
946 | {"mremap", __NR_mremap}, | ||
947 | #endif | ||
948 | #endif | ||
949 | #ifdef SYS_msync | ||
950 | #ifdef __NR_msync | ||
951 | {"msync", __NR_msync}, | ||
952 | #endif | ||
953 | #endif | ||
954 | #ifdef SYS_munlock | ||
955 | #ifdef __NR_munlock | ||
956 | {"munlock", __NR_munlock}, | ||
957 | #endif | ||
958 | #endif | ||
959 | #ifdef SYS_munlockall | ||
960 | #ifdef __NR_munlockall | ||
961 | {"munlockall", __NR_munlockall}, | ||
962 | #endif | ||
963 | #endif | ||
964 | #ifdef SYS_munmap | ||
965 | #ifdef __NR_munmap | ||
966 | {"munmap", __NR_munmap}, | ||
967 | #endif | ||
968 | #endif | ||
969 | #ifdef SYS_name_to_handle_at | ||
970 | #ifdef __NR_name_to_handle_at | ||
971 | {"name_to_handle_at", __NR_name_to_handle_at}, | ||
972 | #endif | ||
973 | #endif | ||
974 | #ifdef SYS_nanosleep | ||
975 | #ifdef __NR_nanosleep | ||
976 | {"nanosleep", __NR_nanosleep}, | ||
977 | #endif | ||
978 | #endif | ||
979 | #ifdef SYS_nfsservctl | ||
980 | #ifdef __NR_nfsservctl | ||
981 | {"nfsservctl", __NR_nfsservctl}, | ||
982 | #endif | ||
983 | #endif | ||
984 | #ifdef SYS_nice | ||
985 | #ifdef __NR_nice | ||
986 | {"nice", __NR_nice}, | ||
987 | #endif | ||
988 | #endif | ||
989 | #ifdef SYS_oldfstat | ||
990 | #ifdef __NR_oldfstat | ||
991 | {"oldfstat", __NR_oldfstat}, | ||
992 | #endif | ||
993 | #endif | ||
994 | #ifdef SYS_oldlstat | ||
995 | #ifdef __NR_oldlstat | ||
996 | {"oldlstat", __NR_oldlstat}, | ||
997 | #endif | ||
998 | #endif | ||
999 | #ifdef SYS_oldolduname | ||
1000 | #ifdef __NR_oldolduname | ||
1001 | {"oldolduname", __NR_oldolduname}, | ||
1002 | #endif | ||
1003 | #endif | ||
1004 | #ifdef SYS_oldstat | ||
1005 | #ifdef __NR_oldstat | ||
1006 | {"oldstat", __NR_oldstat}, | ||
1007 | #endif | ||
1008 | #endif | ||
1009 | #ifdef SYS_olduname | ||
1010 | #ifdef __NR_olduname | ||
1011 | {"olduname", __NR_olduname}, | ||
1012 | #endif | ||
1013 | #endif | ||
1014 | #ifdef SYS_open | ||
1015 | #ifdef __NR_open | ||
1016 | {"open", __NR_open}, | ||
1017 | #endif | ||
1018 | #endif | ||
1019 | #ifdef SYS_open_by_handle_at | ||
1020 | #ifdef __NR_open_by_handle_at | ||
1021 | {"open_by_handle_at", __NR_open_by_handle_at}, | ||
1022 | #endif | ||
1023 | #endif | ||
1024 | #ifdef SYS_openat | ||
1025 | #ifdef __NR_openat | ||
1026 | {"openat", __NR_openat}, | ||
1027 | #endif | ||
1028 | #endif | ||
1029 | #ifdef SYS_pause | ||
1030 | #ifdef __NR_pause | ||
1031 | {"pause", __NR_pause}, | ||
1032 | #endif | ||
1033 | #endif | ||
1034 | #ifdef SYS_perf_event_open | ||
1035 | #ifdef __NR_perf_event_open | ||
1036 | {"perf_event_open", __NR_perf_event_open}, | ||
1037 | #endif | ||
1038 | #endif | ||
1039 | #ifdef SYS_personality | ||
1040 | #ifdef __NR_personality | ||
1041 | {"personality", __NR_personality}, | ||
1042 | #endif | ||
1043 | #endif | ||
1044 | #ifdef SYS_pipe | ||
1045 | #ifdef __NR_pipe | ||
1046 | {"pipe", __NR_pipe}, | ||
1047 | #endif | ||
1048 | #endif | ||
1049 | #ifdef SYS_pipe2 | ||
1050 | #ifdef __NR_pipe2 | ||
1051 | {"pipe2", __NR_pipe2}, | ||
1052 | #endif | ||
1053 | #endif | ||
1054 | #ifdef SYS_pivot_root | ||
1055 | #ifdef __NR_pivot_root | ||
1056 | {"pivot_root", __NR_pivot_root}, | ||
1057 | #endif | ||
1058 | #endif | ||
1059 | #ifdef SYS_pkey_alloc | ||
1060 | #ifdef __NR_pkey_alloc | ||
1061 | {"pkey_alloc", __NR_pkey_alloc}, | ||
1062 | #endif | ||
1063 | #endif | ||
1064 | #ifdef SYS_pkey_free | ||
1065 | #ifdef __NR_pkey_free | ||
1066 | {"pkey_free", __NR_pkey_free}, | ||
1067 | #endif | ||
1068 | #endif | ||
1069 | #ifdef SYS_pkey_mprotect | ||
1070 | #ifdef __NR_pkey_mprotect | ||
1071 | {"pkey_mprotect", __NR_pkey_mprotect}, | ||
1072 | #endif | ||
1073 | #endif | ||
1074 | #ifdef SYS_poll | ||
1075 | #ifdef __NR_poll | ||
1076 | {"poll", __NR_poll}, | ||
1077 | #endif | ||
1078 | #endif | ||
1079 | #ifdef SYS_ppoll | ||
1080 | #ifdef __NR_ppoll | ||
1081 | {"ppoll", __NR_ppoll}, | ||
1082 | #endif | ||
1083 | #endif | ||
1084 | #ifdef SYS_prctl | ||
1085 | #ifdef __NR_prctl | ||
1086 | {"prctl", __NR_prctl}, | ||
1087 | #endif | ||
1088 | #endif | ||
1089 | #ifdef SYS_pread64 | ||
1090 | #ifdef __NR_pread64 | ||
1091 | {"pread64", __NR_pread64}, | ||
1092 | #endif | ||
1093 | #endif | ||
1094 | #ifdef SYS_preadv | ||
1095 | #ifdef __NR_preadv | ||
1096 | {"preadv", __NR_preadv}, | ||
1097 | #endif | ||
1098 | #endif | ||
1099 | #ifdef SYS_preadv2 | ||
1100 | #ifdef __NR_preadv2 | ||
1101 | {"preadv2", __NR_preadv2}, | ||
1102 | #endif | ||
1103 | #endif | ||
1104 | #ifdef SYS_prlimit64 | ||
1105 | #ifdef __NR_prlimit64 | ||
1106 | {"prlimit64", __NR_prlimit64}, | ||
1107 | #endif | ||
1108 | #endif | ||
1109 | #ifdef SYS_process_vm_readv | ||
1110 | #ifdef __NR_process_vm_readv | ||
1111 | {"process_vm_readv", __NR_process_vm_readv}, | ||
1112 | #endif | ||
1113 | #endif | ||
1114 | #ifdef SYS_process_vm_writev | ||
1115 | #ifdef __NR_process_vm_writev | ||
1116 | {"process_vm_writev", __NR_process_vm_writev}, | ||
1117 | #endif | ||
1118 | #endif | ||
1119 | #ifdef SYS_prof | ||
1120 | #ifdef __NR_prof | ||
1121 | {"prof", __NR_prof}, | ||
1122 | #endif | ||
1123 | #endif | ||
1124 | #ifdef SYS_profil | ||
1125 | #ifdef __NR_profil | ||
1126 | {"profil", __NR_profil}, | ||
1127 | #endif | ||
1128 | #endif | ||
1129 | #ifdef SYS_pselect6 | ||
1130 | #ifdef __NR_pselect6 | ||
1131 | {"pselect6", __NR_pselect6}, | ||
1132 | #endif | ||
1133 | #endif | ||
1134 | #ifdef SYS_ptrace | ||
1135 | #ifdef __NR_ptrace | ||
1136 | {"ptrace", __NR_ptrace}, | ||
1137 | #endif | ||
1138 | #endif | ||
1139 | #ifdef SYS_putpmsg | ||
1140 | #ifdef __NR_putpmsg | ||
1141 | {"putpmsg", __NR_putpmsg}, | ||
1142 | #endif | ||
1143 | #endif | ||
1144 | #ifdef SYS_pwrite64 | ||
1145 | #ifdef __NR_pwrite64 | ||
1146 | {"pwrite64", __NR_pwrite64}, | ||
1147 | #endif | ||
1148 | #endif | ||
1149 | #ifdef SYS_pwritev | ||
1150 | #ifdef __NR_pwritev | ||
1151 | {"pwritev", __NR_pwritev}, | ||
1152 | #endif | ||
1153 | #endif | ||
1154 | #ifdef SYS_pwritev2 | ||
1155 | #ifdef __NR_pwritev2 | ||
1156 | {"pwritev2", __NR_pwritev2}, | ||
1157 | #endif | ||
1158 | #endif | ||
1159 | #ifdef SYS_query_module | ||
1160 | #ifdef __NR_query_module | ||
1161 | {"query_module", __NR_query_module}, | ||
1162 | #endif | ||
1163 | #endif | ||
1164 | #ifdef SYS_quotactl | ||
1165 | #ifdef __NR_quotactl | ||
1166 | {"quotactl", __NR_quotactl}, | ||
1167 | #endif | ||
1168 | #endif | ||
1169 | #ifdef SYS_read | ||
1170 | #ifdef __NR_read | ||
1171 | {"read", __NR_read}, | ||
1172 | #endif | ||
1173 | #endif | ||
1174 | #ifdef SYS_readahead | ||
1175 | #ifdef __NR_readahead | ||
1176 | {"readahead", __NR_readahead}, | ||
1177 | #endif | ||
1178 | #endif | ||
1179 | #ifdef SYS_readdir | ||
1180 | #ifdef __NR_readdir | ||
1181 | {"readdir", __NR_readdir}, | ||
1182 | #endif | ||
1183 | #endif | ||
1184 | #ifdef SYS_readlink | ||
1185 | #ifdef __NR_readlink | ||
1186 | {"readlink", __NR_readlink}, | ||
1187 | #endif | ||
1188 | #endif | ||
1189 | #ifdef SYS_readlinkat | ||
1190 | #ifdef __NR_readlinkat | ||
1191 | {"readlinkat", __NR_readlinkat}, | ||
1192 | #endif | ||
1193 | #endif | ||
1194 | #ifdef SYS_readv | ||
1195 | #ifdef __NR_readv | ||
1196 | {"readv", __NR_readv}, | ||
1197 | #endif | ||
1198 | #endif | ||
1199 | #ifdef SYS_reboot | ||
1200 | #ifdef __NR_reboot | ||
1201 | {"reboot", __NR_reboot}, | ||
1202 | #endif | ||
1203 | #endif | ||
1204 | #ifdef SYS_recvfrom | ||
1205 | #ifdef __NR_recvfrom | ||
1206 | {"recvfrom", __NR_recvfrom}, | ||
1207 | #endif | ||
1208 | #endif | ||
1209 | #ifdef SYS_recvmmsg | ||
1210 | #ifdef __NR_recvmmsg | ||
1211 | {"recvmmsg", __NR_recvmmsg}, | ||
1212 | #endif | ||
1213 | #endif | ||
1214 | #ifdef SYS_recvmsg | ||
1215 | #ifdef __NR_recvmsg | ||
1216 | {"recvmsg", __NR_recvmsg}, | ||
1217 | #endif | ||
1218 | #endif | ||
1219 | #ifdef SYS_remap_file_pages | ||
1220 | #ifdef __NR_remap_file_pages | ||
1221 | {"remap_file_pages", __NR_remap_file_pages}, | ||
1222 | #endif | ||
1223 | #endif | ||
1224 | #ifdef SYS_removexattr | ||
1225 | #ifdef __NR_removexattr | ||
1226 | {"removexattr", __NR_removexattr}, | ||
1227 | #endif | ||
1228 | #endif | ||
1229 | #ifdef SYS_rename | ||
1230 | #ifdef __NR_rename | ||
1231 | {"rename", __NR_rename}, | ||
1232 | #endif | ||
1233 | #endif | ||
1234 | #ifdef SYS_renameat | ||
1235 | #ifdef __NR_renameat | ||
1236 | {"renameat", __NR_renameat}, | ||
1237 | #endif | ||
1238 | #endif | ||
1239 | #ifdef SYS_renameat2 | ||
1240 | #ifdef __NR_renameat2 | ||
1241 | {"renameat2", __NR_renameat2}, | ||
1242 | #endif | ||
1243 | #endif | ||
1244 | #ifdef SYS_request_key | ||
1245 | #ifdef __NR_request_key | ||
1246 | {"request_key", __NR_request_key}, | ||
1247 | #endif | ||
1248 | #endif | ||
1249 | #ifdef SYS_restart_syscall | ||
1250 | #ifdef __NR_restart_syscall | ||
1251 | {"restart_syscall", __NR_restart_syscall}, | ||
1252 | #endif | ||
1253 | #endif | ||
1254 | #ifdef SYS_rmdir | ||
1255 | #ifdef __NR_rmdir | ||
1256 | {"rmdir", __NR_rmdir}, | ||
1257 | #endif | ||
1258 | #endif | ||
1259 | #ifdef SYS_rt_sigaction | ||
1260 | #ifdef __NR_rt_sigaction | ||
1261 | {"rt_sigaction", __NR_rt_sigaction}, | ||
1262 | #endif | ||
1263 | #endif | ||
1264 | #ifdef SYS_rt_sigpending | ||
1265 | #ifdef __NR_rt_sigpending | ||
1266 | {"rt_sigpending", __NR_rt_sigpending}, | ||
1267 | #endif | ||
1268 | #endif | ||
1269 | #ifdef SYS_rt_sigprocmask | ||
1270 | #ifdef __NR_rt_sigprocmask | ||
1271 | {"rt_sigprocmask", __NR_rt_sigprocmask}, | ||
1272 | #endif | ||
1273 | #endif | ||
1274 | #ifdef SYS_rt_sigqueueinfo | ||
1275 | #ifdef __NR_rt_sigqueueinfo | ||
1276 | {"rt_sigqueueinfo", __NR_rt_sigqueueinfo}, | ||
1277 | #endif | ||
1278 | #endif | ||
1279 | #ifdef SYS_rt_sigreturn | ||
1280 | #ifdef __NR_rt_sigreturn | ||
1281 | {"rt_sigreturn", __NR_rt_sigreturn}, | ||
1282 | #endif | ||
1283 | #endif | ||
1284 | #ifdef SYS_rt_sigsuspend | ||
1285 | #ifdef __NR_rt_sigsuspend | ||
1286 | {"rt_sigsuspend", __NR_rt_sigsuspend}, | ||
1287 | #endif | ||
1288 | #endif | ||
1289 | #ifdef SYS_rt_sigtimedwait | ||
1290 | #ifdef __NR_rt_sigtimedwait | ||
1291 | {"rt_sigtimedwait", __NR_rt_sigtimedwait}, | ||
1292 | #endif | ||
1293 | #endif | ||
1294 | #ifdef SYS_rt_tgsigqueueinfo | ||
1295 | #ifdef __NR_rt_tgsigqueueinfo | ||
1296 | {"rt_tgsigqueueinfo", __NR_rt_tgsigqueueinfo}, | ||
1297 | #endif | ||
1298 | #endif | ||
1299 | #ifdef SYS_sched_get_priority_max | ||
1300 | #ifdef __NR_sched_get_priority_max | ||
1301 | {"sched_get_priority_max", __NR_sched_get_priority_max}, | ||
1302 | #endif | ||
1303 | #endif | ||
1304 | #ifdef SYS_sched_get_priority_min | ||
1305 | #ifdef __NR_sched_get_priority_min | ||
1306 | {"sched_get_priority_min", __NR_sched_get_priority_min}, | ||
1307 | #endif | ||
1308 | #endif | ||
1309 | #ifdef SYS_sched_getaffinity | ||
1310 | #ifdef __NR_sched_getaffinity | ||
1311 | {"sched_getaffinity", __NR_sched_getaffinity}, | ||
1312 | #endif | ||
1313 | #endif | ||
1314 | #ifdef SYS_sched_getattr | ||
1315 | #ifdef __NR_sched_getattr | ||
1316 | {"sched_getattr", __NR_sched_getattr}, | ||
1317 | #endif | ||
1318 | #endif | ||
1319 | #ifdef SYS_sched_getparam | ||
1320 | #ifdef __NR_sched_getparam | ||
1321 | {"sched_getparam", __NR_sched_getparam}, | ||
1322 | #endif | ||
1323 | #endif | ||
1324 | #ifdef SYS_sched_getscheduler | ||
1325 | #ifdef __NR_sched_getscheduler | ||
1326 | {"sched_getscheduler", __NR_sched_getscheduler}, | ||
1327 | #endif | ||
1328 | #endif | ||
1329 | #ifdef SYS_sched_rr_get_interval | ||
1330 | #ifdef __NR_sched_rr_get_interval | ||
1331 | {"sched_rr_get_interval", __NR_sched_rr_get_interval}, | ||
1332 | #endif | ||
1333 | #endif | ||
1334 | #ifdef SYS_sched_setaffinity | ||
1335 | #ifdef __NR_sched_setaffinity | ||
1336 | {"sched_setaffinity", __NR_sched_setaffinity}, | ||
1337 | #endif | ||
1338 | #endif | ||
1339 | #ifdef SYS_sched_setattr | ||
1340 | #ifdef __NR_sched_setattr | ||
1341 | {"sched_setattr", __NR_sched_setattr}, | ||
1342 | #endif | ||
1343 | #endif | ||
1344 | #ifdef SYS_sched_setparam | ||
1345 | #ifdef __NR_sched_setparam | ||
1346 | {"sched_setparam", __NR_sched_setparam}, | ||
1347 | #endif | ||
1348 | #endif | ||
1349 | #ifdef SYS_sched_setscheduler | ||
1350 | #ifdef __NR_sched_setscheduler | ||
1351 | {"sched_setscheduler", __NR_sched_setscheduler}, | ||
1352 | #endif | ||
1353 | #endif | ||
1354 | #ifdef SYS_sched_yield | ||
1355 | #ifdef __NR_sched_yield | ||
1356 | {"sched_yield", __NR_sched_yield}, | ||
1357 | #endif | ||
1358 | #endif | ||
1359 | #ifdef SYS_seccomp | ||
1360 | #ifdef __NR_seccomp | ||
1361 | {"seccomp", __NR_seccomp}, | ||
1362 | #endif | ||
1363 | #endif | ||
1364 | #ifdef SYS_select | ||
1365 | #ifdef __NR_select | ||
1366 | {"select", __NR_select}, | ||
1367 | #endif | ||
1368 | #endif | ||
1369 | #ifdef SYS_sendfile | ||
1370 | #ifdef __NR_sendfile | ||
1371 | {"sendfile", __NR_sendfile}, | ||
1372 | #endif | ||
1373 | #endif | ||
1374 | #ifdef SYS_sendfile64 | ||
1375 | #ifdef __NR_sendfile64 | ||
1376 | {"sendfile64", __NR_sendfile64}, | ||
1377 | #endif | ||
1378 | #endif | ||
1379 | #ifdef SYS_sendmmsg | ||
1380 | #ifdef __NR_sendmmsg | ||
1381 | {"sendmmsg", __NR_sendmmsg}, | ||
1382 | #endif | ||
1383 | #endif | ||
1384 | #ifdef SYS_sendmsg | ||
1385 | #ifdef __NR_sendmsg | ||
1386 | {"sendmsg", __NR_sendmsg}, | ||
1387 | #endif | ||
1388 | #endif | ||
1389 | #ifdef SYS_sendto | ||
1390 | #ifdef __NR_sendto | ||
1391 | {"sendto", __NR_sendto}, | ||
1392 | #endif | ||
1393 | #endif | ||
1394 | #ifdef SYS_set_mempolicy | ||
1395 | #ifdef __NR_set_mempolicy | ||
1396 | {"set_mempolicy", __NR_set_mempolicy}, | ||
1397 | #endif | ||
1398 | #endif | ||
1399 | #ifdef SYS_set_robust_list | ||
1400 | #ifdef __NR_set_robust_list | ||
1401 | {"set_robust_list", __NR_set_robust_list}, | ||
1402 | #endif | ||
1403 | #endif | ||
1404 | #ifdef SYS_set_thread_area | ||
1405 | #ifdef __NR_set_thread_area | ||
1406 | {"set_thread_area", __NR_set_thread_area}, | ||
1407 | #endif | ||
1408 | #endif | ||
1409 | #ifdef SYS_set_tid_address | ||
1410 | #ifdef __NR_set_tid_address | ||
1411 | {"set_tid_address", __NR_set_tid_address}, | ||
1412 | #endif | ||
1413 | #endif | ||
1414 | #ifdef SYS_setdomainname | ||
1415 | #ifdef __NR_setdomainname | ||
1416 | {"setdomainname", __NR_setdomainname}, | ||
1417 | #endif | ||
1418 | #endif | ||
1419 | #ifdef SYS_setfsgid | ||
1420 | #ifdef __NR_setfsgid | ||
1421 | {"setfsgid", __NR_setfsgid}, | ||
1422 | #endif | ||
1423 | #endif | ||
1424 | #ifdef SYS_setfsgid32 | ||
1425 | #ifdef __NR_setfsgid32 | ||
1426 | {"setfsgid32", __NR_setfsgid32}, | ||
1427 | #endif | ||
1428 | #endif | ||
1429 | #ifdef SYS_setfsuid | ||
1430 | #ifdef __NR_setfsuid | ||
1431 | {"setfsuid", __NR_setfsuid}, | ||
1432 | #endif | ||
1433 | #endif | ||
1434 | #ifdef SYS_setfsuid32 | ||
1435 | #ifdef __NR_setfsuid32 | ||
1436 | {"setfsuid32", __NR_setfsuid32}, | ||
1437 | #endif | ||
1438 | #endif | ||
1439 | #ifdef SYS_setgid | ||
1440 | #ifdef __NR_setgid | ||
1441 | {"setgid", __NR_setgid}, | ||
1442 | #endif | ||
1443 | #endif | ||
1444 | #ifdef SYS_setgid32 | ||
1445 | #ifdef __NR_setgid32 | ||
1446 | {"setgid32", __NR_setgid32}, | ||
1447 | #endif | ||
1448 | #endif | ||
1449 | #ifdef SYS_setgroups | ||
1450 | #ifdef __NR_setgroups | ||
1451 | {"setgroups", __NR_setgroups}, | ||
1452 | #endif | ||
1453 | #endif | ||
1454 | #ifdef SYS_setgroups32 | ||
1455 | #ifdef __NR_setgroups32 | ||
1456 | {"setgroups32", __NR_setgroups32}, | ||
1457 | #endif | ||
1458 | #endif | ||
1459 | #ifdef SYS_sethostname | ||
1460 | #ifdef __NR_sethostname | ||
1461 | {"sethostname", __NR_sethostname}, | ||
1462 | #endif | ||
1463 | #endif | ||
1464 | #ifdef SYS_setitimer | ||
1465 | #ifdef __NR_setitimer | ||
1466 | {"setitimer", __NR_setitimer}, | ||
1467 | #endif | ||
1468 | #endif | ||
1469 | #ifdef SYS_setns | ||
1470 | #ifdef __NR_setns | ||
1471 | {"setns", __NR_setns}, | ||
1472 | #endif | ||
1473 | #endif | ||
1474 | #ifdef SYS_setpgid | ||
1475 | #ifdef __NR_setpgid | ||
1476 | {"setpgid", __NR_setpgid}, | ||
1477 | #endif | ||
1478 | #endif | ||
1479 | #ifdef SYS_setpriority | ||
1480 | #ifdef __NR_setpriority | ||
1481 | {"setpriority", __NR_setpriority}, | ||
1482 | #endif | ||
1483 | #endif | ||
1484 | #ifdef SYS_setregid | ||
1485 | #ifdef __NR_setregid | ||
1486 | {"setregid", __NR_setregid}, | ||
1487 | #endif | ||
1488 | #endif | ||
1489 | #ifdef SYS_setregid32 | ||
1490 | #ifdef __NR_setregid32 | ||
1491 | {"setregid32", __NR_setregid32}, | ||
1492 | #endif | ||
1493 | #endif | ||
1494 | #ifdef SYS_setresgid | ||
1495 | #ifdef __NR_setresgid | ||
1496 | {"setresgid", __NR_setresgid}, | ||
1497 | #endif | ||
1498 | #endif | ||
1499 | #ifdef SYS_setresgid32 | ||
1500 | #ifdef __NR_setresgid32 | ||
1501 | {"setresgid32", __NR_setresgid32}, | ||
1502 | #endif | ||
1503 | #endif | ||
1504 | #ifdef SYS_setresuid | ||
1505 | #ifdef __NR_setresuid | ||
1506 | {"setresuid", __NR_setresuid}, | ||
1507 | #endif | ||
1508 | #endif | ||
1509 | #ifdef SYS_setresuid32 | ||
1510 | #ifdef __NR_setresuid32 | ||
1511 | {"setresuid32", __NR_setresuid32}, | ||
1512 | #endif | ||
1513 | #endif | ||
1514 | #ifdef SYS_setreuid | ||
1515 | #ifdef __NR_setreuid | ||
1516 | {"setreuid", __NR_setreuid}, | ||
1517 | #endif | ||
1518 | #endif | ||
1519 | #ifdef SYS_setreuid32 | ||
1520 | #ifdef __NR_setreuid32 | ||
1521 | {"setreuid32", __NR_setreuid32}, | ||
1522 | #endif | ||
1523 | #endif | ||
1524 | #ifdef SYS_setrlimit | ||
1525 | #ifdef __NR_setrlimit | ||
1526 | {"setrlimit", __NR_setrlimit}, | ||
1527 | #endif | ||
1528 | #endif | ||
1529 | #ifdef SYS_setsid | ||
1530 | #ifdef __NR_setsid | ||
1531 | {"setsid", __NR_setsid}, | ||
1532 | #endif | ||
1533 | #endif | ||
1534 | #ifdef SYS_setsockopt | ||
1535 | #ifdef __NR_setsockopt | ||
1536 | {"setsockopt", __NR_setsockopt}, | ||
1537 | #endif | ||
1538 | #endif | ||
1539 | #ifdef SYS_settimeofday | ||
1540 | #ifdef __NR_settimeofday | ||
1541 | {"settimeofday", __NR_settimeofday}, | ||
1542 | #endif | ||
1543 | #endif | ||
1544 | #ifdef SYS_setuid | ||
1545 | #ifdef __NR_setuid | ||
1546 | {"setuid", __NR_setuid}, | ||
1547 | #endif | ||
1548 | #endif | ||
1549 | #ifdef SYS_setuid32 | ||
1550 | #ifdef __NR_setuid32 | ||
1551 | {"setuid32", __NR_setuid32}, | ||
1552 | #endif | ||
1553 | #endif | ||
1554 | #ifdef SYS_setxattr | ||
1555 | #ifdef __NR_setxattr | ||
1556 | {"setxattr", __NR_setxattr}, | ||
1557 | #endif | ||
1558 | #endif | ||
1559 | #ifdef SYS_sgetmask | ||
1560 | #ifdef __NR_sgetmask | ||
1561 | {"sgetmask", __NR_sgetmask}, | ||
1562 | #endif | ||
1563 | #endif | ||
1564 | #ifdef SYS_shutdown | ||
1565 | #ifdef __NR_shutdown | ||
1566 | {"shutdown", __NR_shutdown}, | ||
1567 | #endif | ||
1568 | #endif | ||
1569 | #ifdef SYS_sigaction | ||
1570 | #ifdef __NR_sigaction | ||
1571 | {"sigaction", __NR_sigaction}, | ||
1572 | #endif | ||
1573 | #endif | ||
1574 | #ifdef SYS_sigaltstack | ||
1575 | #ifdef __NR_sigaltstack | ||
1576 | {"sigaltstack", __NR_sigaltstack}, | ||
1577 | #endif | ||
1578 | #endif | ||
1579 | #ifdef SYS_signal | ||
1580 | #ifdef __NR_signal | ||
1581 | {"signal", __NR_signal}, | ||
1582 | #endif | ||
1583 | #endif | ||
1584 | #ifdef SYS_signalfd | ||
1585 | #ifdef __NR_signalfd | ||
1586 | {"signalfd", __NR_signalfd}, | ||
1587 | #endif | ||
1588 | #endif | ||
1589 | #ifdef SYS_signalfd4 | ||
1590 | #ifdef __NR_signalfd4 | ||
1591 | {"signalfd4", __NR_signalfd4}, | ||
1592 | #endif | ||
1593 | #endif | ||
1594 | #ifdef SYS_sigpending | ||
1595 | #ifdef __NR_sigpending | ||
1596 | {"sigpending", __NR_sigpending}, | ||
1597 | #endif | ||
1598 | #endif | ||
1599 | #ifdef SYS_sigprocmask | ||
1600 | #ifdef __NR_sigprocmask | ||
1601 | {"sigprocmask", __NR_sigprocmask}, | ||
1602 | #endif | ||
1603 | #endif | ||
1604 | #ifdef SYS_sigreturn | ||
1605 | #ifdef __NR_sigreturn | ||
1606 | {"sigreturn", __NR_sigreturn}, | ||
1607 | #endif | ||
1608 | #endif | ||
1609 | #ifdef SYS_sigsuspend | ||
1610 | #ifdef __NR_sigsuspend | ||
1611 | {"sigsuspend", __NR_sigsuspend}, | ||
1612 | #endif | ||
1613 | #endif | ||
1614 | #ifdef SYS_socket | ||
1615 | #ifdef __NR_socket | ||
1616 | {"socket", __NR_socket}, | ||
1617 | #endif | ||
1618 | #endif | ||
1619 | #ifdef SYS_socketcall | ||
1620 | #ifdef __NR_socketcall | ||
1621 | {"socketcall", __NR_socketcall}, | ||
1622 | #endif | ||
1623 | #endif | ||
1624 | #ifdef SYS_socketpair | ||
1625 | #ifdef __NR_socketpair | ||
1626 | {"socketpair", __NR_socketpair}, | ||
1627 | #endif | ||
1628 | #endif | ||
1629 | #ifdef SYS_splice | ||
1630 | #ifdef __NR_splice | ||
1631 | {"splice", __NR_splice}, | ||
1632 | #endif | ||
1633 | #endif | ||
1634 | #ifdef SYS_ssetmask | ||
1635 | #ifdef __NR_ssetmask | ||
1636 | {"ssetmask", __NR_ssetmask}, | ||
1637 | #endif | ||
1638 | #endif | ||
1639 | #ifdef SYS_stat | ||
1640 | #ifdef __NR_stat | ||
1641 | {"stat", __NR_stat}, | ||
1642 | #endif | ||
1643 | #endif | ||
1644 | #ifdef SYS_stat64 | ||
1645 | #ifdef __NR_stat64 | ||
1646 | {"stat64", __NR_stat64}, | ||
1647 | #endif | ||
1648 | #endif | ||
1649 | #ifdef SYS_statfs | ||
1650 | #ifdef __NR_statfs | ||
1651 | {"statfs", __NR_statfs}, | ||
1652 | #endif | ||
1653 | #endif | ||
1654 | #ifdef SYS_statfs64 | ||
1655 | #ifdef __NR_statfs64 | ||
1656 | {"statfs64", __NR_statfs64}, | ||
1657 | #endif | ||
1658 | #endif | ||
1659 | #ifdef SYS_statx | ||
1660 | #ifdef __NR_statx | ||
1661 | {"statx", __NR_statx}, | ||
1662 | #endif | ||
1663 | #endif | ||
1664 | #ifdef SYS_stime | ||
1665 | #ifdef __NR_stime | ||
1666 | {"stime", __NR_stime}, | ||
1667 | #endif | ||
1668 | #endif | ||
1669 | #ifdef SYS_stty | ||
1670 | #ifdef __NR_stty | ||
1671 | {"stty", __NR_stty}, | ||
1672 | #endif | ||
1673 | #endif | ||
1674 | #ifdef SYS_swapoff | ||
1675 | #ifdef __NR_swapoff | ||
1676 | {"swapoff", __NR_swapoff}, | ||
1677 | #endif | ||
1678 | #endif | ||
1679 | #ifdef SYS_swapon | ||
1680 | #ifdef __NR_swapon | ||
1681 | {"swapon", __NR_swapon}, | ||
1682 | #endif | ||
1683 | #endif | ||
1684 | #ifdef SYS_symlink | ||
1685 | #ifdef __NR_symlink | ||
1686 | {"symlink", __NR_symlink}, | ||
1687 | #endif | ||
1688 | #endif | ||
1689 | #ifdef SYS_symlinkat | ||
1690 | #ifdef __NR_symlinkat | ||
1691 | {"symlinkat", __NR_symlinkat}, | ||
1692 | #endif | ||
1693 | #endif | ||
1694 | #ifdef SYS_sync | ||
1695 | #ifdef __NR_sync | ||
1696 | {"sync", __NR_sync}, | ||
1697 | #endif | ||
1698 | #endif | ||
1699 | #ifdef SYS_sync_file_range | ||
1700 | #ifdef __NR_sync_file_range | ||
1701 | {"sync_file_range", __NR_sync_file_range}, | ||
1702 | #endif | ||
1703 | #endif | ||
1704 | #ifdef SYS_syncfs | ||
1705 | #ifdef __NR_syncfs | ||
1706 | {"syncfs", __NR_syncfs}, | ||
1707 | #endif | ||
1708 | #endif | ||
1709 | #ifdef SYS_sysfs | ||
1710 | #ifdef __NR_sysfs | ||
1711 | {"sysfs", __NR_sysfs}, | ||
1712 | #endif | ||
1713 | #endif | ||
1714 | #ifdef SYS_sysinfo | ||
1715 | #ifdef __NR_sysinfo | ||
1716 | {"sysinfo", __NR_sysinfo}, | ||
1717 | #endif | ||
1718 | #endif | ||
1719 | #ifdef SYS_syslog | ||
1720 | #ifdef __NR_syslog | ||
1721 | {"syslog", __NR_syslog}, | ||
1722 | #endif | ||
1723 | #endif | ||
1724 | #ifdef SYS_tee | ||
1725 | #ifdef __NR_tee | ||
1726 | {"tee", __NR_tee}, | ||
1727 | #endif | ||
1728 | #endif | ||
1729 | #ifdef SYS_tgkill | ||
1730 | #ifdef __NR_tgkill | ||
1731 | {"tgkill", __NR_tgkill}, | ||
1732 | #endif | ||
1733 | #endif | ||
1734 | #ifdef SYS_time | ||
1735 | #ifdef __NR_time | ||
1736 | {"time", __NR_time}, | ||
1737 | #endif | ||
1738 | #endif | ||
1739 | #ifdef SYS_timer_create | ||
1740 | #ifdef __NR_timer_create | ||
1741 | {"timer_create", __NR_timer_create}, | ||
1742 | #endif | ||
1743 | #endif | ||
1744 | #ifdef SYS_timer_delete | ||
1745 | #ifdef __NR_timer_delete | ||
1746 | {"timer_delete", __NR_timer_delete}, | ||
1747 | #endif | ||
1748 | #endif | ||
1749 | #ifdef SYS_timer_getoverrun | ||
1750 | #ifdef __NR_timer_getoverrun | ||
1751 | {"timer_getoverrun", __NR_timer_getoverrun}, | ||
1752 | #endif | ||
1753 | #endif | ||
1754 | #ifdef SYS_timer_gettime | ||
1755 | #ifdef __NR_timer_gettime | ||
1756 | {"timer_gettime", __NR_timer_gettime}, | ||
1757 | #endif | ||
1758 | #endif | ||
1759 | #ifdef SYS_timer_settime | ||
1760 | #ifdef __NR_timer_settime | ||
1761 | {"timer_settime", __NR_timer_settime}, | ||
1762 | #endif | ||
1763 | #endif | ||
1764 | #ifdef SYS_timerfd_create | ||
1765 | #ifdef __NR_timerfd_create | ||
1766 | {"timerfd_create", __NR_timerfd_create}, | ||
1767 | #endif | ||
1768 | #endif | ||
1769 | #ifdef SYS_timerfd_gettime | ||
1770 | #ifdef __NR_timerfd_gettime | ||
1771 | {"timerfd_gettime", __NR_timerfd_gettime}, | ||
1772 | #endif | ||
1773 | #endif | ||
1774 | #ifdef SYS_timerfd_settime | ||
1775 | #ifdef __NR_timerfd_settime | ||
1776 | {"timerfd_settime", __NR_timerfd_settime}, | ||
1777 | #endif | ||
1778 | #endif | ||
1779 | #ifdef SYS_times | ||
1780 | #ifdef __NR_times | ||
1781 | {"times", __NR_times}, | ||
1782 | #endif | ||
1783 | #endif | ||
1784 | #ifdef SYS_tkill | ||
1785 | #ifdef __NR_tkill | ||
1786 | {"tkill", __NR_tkill}, | ||
1787 | #endif | ||
1788 | #endif | ||
1789 | #ifdef SYS_truncate | ||
1790 | #ifdef __NR_truncate | ||
1791 | {"truncate", __NR_truncate}, | ||
1792 | #endif | ||
1793 | #endif | ||
1794 | #ifdef SYS_truncate64 | ||
1795 | #ifdef __NR_truncate64 | ||
1796 | {"truncate64", __NR_truncate64}, | ||
1797 | #endif | ||
1798 | #endif | ||
1799 | #ifdef SYS_ugetrlimit | ||
1800 | #ifdef __NR_ugetrlimit | ||
1801 | {"ugetrlimit", __NR_ugetrlimit}, | ||
1802 | #endif | ||
1803 | #endif | ||
1804 | #ifdef SYS_ulimit | ||
1805 | #ifdef __NR_ulimit | ||
1806 | {"ulimit", __NR_ulimit}, | ||
1807 | #endif | ||
1808 | #endif | ||
1809 | #ifdef SYS_umask | ||
1810 | #ifdef __NR_umask | ||
1811 | {"umask", __NR_umask}, | ||
1812 | #endif | ||
1813 | #endif | ||
1814 | #ifdef SYS_umount | ||
1815 | #ifdef __NR_umount | ||
1816 | {"umount", __NR_umount}, | ||
1817 | #endif | ||
1818 | #endif | ||
1819 | #ifdef SYS_umount2 | ||
1820 | #ifdef __NR_umount2 | ||
1821 | {"umount2", __NR_umount2}, | ||
1822 | #endif | ||
1823 | #endif | ||
1824 | #ifdef SYS_uname | ||
1825 | #ifdef __NR_uname | ||
1826 | {"uname", __NR_uname}, | ||
1827 | #endif | ||
1828 | #endif | ||
1829 | #ifdef SYS_unlink | ||
1830 | #ifdef __NR_unlink | ||
1831 | {"unlink", __NR_unlink}, | ||
1832 | #endif | ||
1833 | #endif | ||
1834 | #ifdef SYS_unlinkat | ||
1835 | #ifdef __NR_unlinkat | ||
1836 | {"unlinkat", __NR_unlinkat}, | ||
1837 | #endif | ||
1838 | #endif | ||
1839 | #ifdef SYS_unshare | ||
1840 | #ifdef __NR_unshare | ||
1841 | {"unshare", __NR_unshare}, | ||
1842 | #endif | ||
1843 | #endif | ||
1844 | #ifdef SYS_uselib | ||
1845 | #ifdef __NR_uselib | ||
1846 | {"uselib", __NR_uselib}, | ||
1847 | #endif | ||
1848 | #endif | ||
1849 | #ifdef SYS_userfaultfd | ||
1850 | #ifdef __NR_userfaultfd | ||
1851 | {"userfaultfd", __NR_userfaultfd}, | ||
1852 | #endif | ||
1853 | #endif | ||
1854 | #ifdef SYS_ustat | ||
1855 | #ifdef __NR_ustat | ||
1856 | {"ustat", __NR_ustat}, | ||
1857 | #endif | ||
1858 | #endif | ||
1859 | #ifdef SYS_utime | ||
1860 | #ifdef __NR_utime | ||
1861 | {"utime", __NR_utime}, | ||
1862 | #endif | ||
1863 | #endif | ||
1864 | #ifdef SYS_utimensat | ||
1865 | #ifdef __NR_utimensat | ||
1866 | {"utimensat", __NR_utimensat}, | ||
1867 | #endif | ||
1868 | #endif | ||
1869 | #ifdef SYS_utimes | ||
1870 | #ifdef __NR_utimes | ||
1871 | {"utimes", __NR_utimes}, | ||
1872 | #endif | ||
1873 | #endif | ||
1874 | #ifdef SYS_vfork | ||
1875 | #ifdef __NR_vfork | ||
1876 | {"vfork", __NR_vfork}, | ||
1877 | #endif | ||
1878 | #endif | ||
1879 | #ifdef SYS_vhangup | ||
1880 | #ifdef __NR_vhangup | ||
1881 | {"vhangup", __NR_vhangup}, | ||
1882 | #endif | ||
1883 | #endif | ||
1884 | #ifdef SYS_vm86 | ||
1885 | #ifdef __NR_vm86 | ||
1886 | {"vm86", __NR_vm86}, | ||
1887 | #endif | ||
1888 | #endif | ||
1889 | #ifdef SYS_vm86old | ||
1890 | #ifdef __NR_vm86old | ||
1891 | {"vm86old", __NR_vm86old}, | ||
1892 | #endif | ||
1893 | #endif | ||
1894 | #ifdef SYS_vmsplice | ||
1895 | #ifdef __NR_vmsplice | ||
1896 | {"vmsplice", __NR_vmsplice}, | ||
1897 | #endif | ||
1898 | #endif | ||
1899 | #ifdef SYS_vserver | ||
1900 | #ifdef __NR_vserver | ||
1901 | {"vserver", __NR_vserver}, | ||
1902 | #endif | ||
1903 | #endif | ||
1904 | #ifdef SYS_wait4 | ||
1905 | #ifdef __NR_wait4 | ||
1906 | {"wait4", __NR_wait4}, | ||
1907 | #endif | ||
1908 | #endif | ||
1909 | #ifdef SYS_waitid | ||
1910 | #ifdef __NR_waitid | ||
1911 | {"waitid", __NR_waitid}, | ||
1912 | #endif | ||
1913 | #endif | ||
1914 | #ifdef SYS_waitpid | ||
1915 | #ifdef __NR_waitpid | ||
1916 | {"waitpid", __NR_waitpid}, | ||
1917 | #endif | ||
1918 | #endif | ||
1919 | #ifdef SYS_write | ||
1920 | #ifdef __NR_write | ||
1921 | {"write", __NR_write}, | ||
1922 | #endif | ||
1923 | #endif | ||
1924 | #ifdef SYS_writev | ||
1925 | #ifdef __NR_writev | ||
1926 | {"writev", __NR_writev}, | ||
1927 | #endif | ||
1928 | #endif | ||
1929 | #endif | ||
1930 | //#endif | ||
1931 | #if defined __x86_64__ && defined __LP64__ | ||
1932 | #ifdef SYS__sysctl | ||
1933 | #ifdef __NR__sysctl | ||
1934 | {"_sysctl", __NR__sysctl}, | ||
1935 | #endif | ||
1936 | #endif | ||
1937 | #ifdef SYS_accept | ||
1938 | #ifdef __NR_accept | ||
1939 | {"accept", __NR_accept}, | ||
1940 | #endif | ||
1941 | #endif | ||
1942 | #ifdef SYS_accept4 | ||
1943 | #ifdef __NR_accept4 | ||
1944 | {"accept4", __NR_accept4}, | ||
1945 | #endif | ||
1946 | #endif | ||
1947 | #ifdef SYS_access | ||
1948 | #ifdef __NR_access | ||
1949 | {"access", __NR_access}, | ||
1950 | #endif | ||
1951 | #endif | ||
1952 | #ifdef SYS_acct | ||
1953 | #ifdef __NR_acct | ||
1954 | {"acct", __NR_acct}, | ||
1955 | #endif | ||
1956 | #endif | ||
1957 | #ifdef SYS_add_key | ||
1958 | #ifdef __NR_add_key | ||
1959 | {"add_key", __NR_add_key}, | ||
1960 | #endif | ||
1961 | #endif | ||
1962 | #ifdef SYS_adjtimex | ||
1963 | #ifdef __NR_adjtimex | ||
1964 | {"adjtimex", __NR_adjtimex}, | ||
1965 | #endif | ||
1966 | #endif | ||
1967 | #ifdef SYS_afs_syscall | ||
1968 | #ifdef __NR_afs_syscall | ||
1969 | {"afs_syscall", __NR_afs_syscall}, | ||
1970 | #endif | ||
1971 | #endif | ||
1972 | #ifdef SYS_alarm | ||
1973 | #ifdef __NR_alarm | ||
1974 | {"alarm", __NR_alarm}, | ||
1975 | #endif | ||
1976 | #endif | ||
1977 | #ifdef SYS_arch_prctl | ||
1978 | #ifdef __NR_arch_prctl | ||
1979 | {"arch_prctl", __NR_arch_prctl}, | ||
1980 | #endif | ||
1981 | #endif | ||
1982 | #ifdef SYS_bind | ||
1983 | #ifdef __NR_bind | ||
1984 | {"bind", __NR_bind}, | ||
1985 | #endif | ||
1986 | #endif | ||
1987 | #ifdef SYS_bpf | ||
1988 | #ifdef __NR_bpf | ||
1989 | {"bpf", __NR_bpf}, | ||
1990 | #endif | ||
1991 | #endif | ||
1992 | #ifdef SYS_brk | ||
1993 | #ifdef __NR_brk | ||
1994 | {"brk", __NR_brk}, | ||
1995 | #endif | ||
1996 | #endif | ||
1997 | #ifdef SYS_capget | ||
1998 | #ifdef __NR_capget | ||
1999 | {"capget", __NR_capget}, | ||
2000 | #endif | ||
2001 | #endif | ||
2002 | #ifdef SYS_capset | ||
2003 | #ifdef __NR_capset | ||
2004 | {"capset", __NR_capset}, | ||
2005 | #endif | ||
2006 | #endif | ||
2007 | #ifdef SYS_chdir | ||
2008 | #ifdef __NR_chdir | ||
2009 | {"chdir", __NR_chdir}, | ||
2010 | #endif | ||
2011 | #endif | ||
2012 | #ifdef SYS_chmod | ||
2013 | #ifdef __NR_chmod | ||
2014 | {"chmod", __NR_chmod}, | ||
2015 | #endif | ||
2016 | #endif | ||
2017 | #ifdef SYS_chown | ||
2018 | #ifdef __NR_chown | ||
2019 | {"chown", __NR_chown}, | ||
2020 | #endif | ||
2021 | #endif | ||
2022 | #ifdef SYS_chroot | ||
2023 | #ifdef __NR_chroot | ||
2024 | {"chroot", __NR_chroot}, | ||
2025 | #endif | ||
2026 | #endif | ||
2027 | #ifdef SYS_clock_adjtime | ||
2028 | #ifdef __NR_clock_adjtime | ||
2029 | {"clock_adjtime", __NR_clock_adjtime}, | ||
2030 | #endif | ||
2031 | #endif | ||
2032 | #ifdef SYS_clock_getres | ||
2033 | #ifdef __NR_clock_getres | ||
2034 | {"clock_getres", __NR_clock_getres}, | ||
2035 | #endif | ||
2036 | #endif | ||
2037 | #ifdef SYS_clock_gettime | ||
2038 | #ifdef __NR_clock_gettime | ||
2039 | {"clock_gettime", __NR_clock_gettime}, | ||
2040 | #endif | ||
2041 | #endif | ||
2042 | #ifdef SYS_clock_nanosleep | ||
2043 | #ifdef __NR_clock_nanosleep | ||
2044 | {"clock_nanosleep", __NR_clock_nanosleep}, | ||
2045 | #endif | ||
2046 | #endif | ||
2047 | #ifdef SYS_clock_settime | ||
2048 | #ifdef __NR_clock_settime | ||
2049 | {"clock_settime", __NR_clock_settime}, | ||
2050 | #endif | ||
2051 | #endif | ||
2052 | #ifdef SYS_clone | ||
2053 | #ifdef __NR_clone | ||
2054 | {"clone", __NR_clone}, | ||
2055 | #endif | ||
2056 | #endif | ||
2057 | #ifdef SYS_close | ||
2058 | #ifdef __NR_close | ||
2059 | {"close", __NR_close}, | ||
2060 | #endif | ||
2061 | #endif | ||
2062 | #ifdef SYS_connect | ||
2063 | #ifdef __NR_connect | ||
2064 | {"connect", __NR_connect}, | ||
2065 | #endif | ||
2066 | #endif | ||
2067 | #ifdef SYS_copy_file_range | ||
2068 | #ifdef __NR_copy_file_range | ||
2069 | {"copy_file_range", __NR_copy_file_range}, | ||
2070 | #endif | ||
2071 | #endif | ||
2072 | #ifdef SYS_creat | ||
2073 | #ifdef __NR_creat | ||
2074 | {"creat", __NR_creat}, | ||
2075 | #endif | ||
2076 | #endif | ||
2077 | #ifdef SYS_create_module | ||
2078 | #ifdef __NR_create_module | ||
2079 | {"create_module", __NR_create_module}, | ||
2080 | #endif | ||
2081 | #endif | ||
2082 | #ifdef SYS_delete_module | ||
2083 | #ifdef __NR_delete_module | ||
2084 | {"delete_module", __NR_delete_module}, | ||
2085 | #endif | ||
2086 | #endif | ||
2087 | #ifdef SYS_dup | ||
2088 | #ifdef __NR_dup | ||
2089 | {"dup", __NR_dup}, | ||
2090 | #endif | ||
2091 | #endif | ||
2092 | #ifdef SYS_dup2 | ||
2093 | #ifdef __NR_dup2 | ||
2094 | {"dup2", __NR_dup2}, | ||
2095 | #endif | ||
2096 | #endif | ||
2097 | #ifdef SYS_dup3 | ||
2098 | #ifdef __NR_dup3 | ||
2099 | {"dup3", __NR_dup3}, | ||
2100 | #endif | ||
2101 | #endif | ||
2102 | #ifdef SYS_epoll_create | ||
2103 | #ifdef __NR_epoll_create | ||
2104 | {"epoll_create", __NR_epoll_create}, | ||
2105 | #endif | ||
2106 | #endif | ||
2107 | #ifdef SYS_epoll_create1 | ||
2108 | #ifdef __NR_epoll_create1 | ||
2109 | {"epoll_create1", __NR_epoll_create1}, | ||
2110 | #endif | ||
2111 | #endif | ||
2112 | #ifdef SYS_epoll_ctl | ||
2113 | #ifdef __NR_epoll_ctl | ||
2114 | {"epoll_ctl", __NR_epoll_ctl}, | ||
2115 | #endif | ||
2116 | #endif | ||
2117 | #ifdef SYS_epoll_ctl_old | ||
2118 | #ifdef __NR_epoll_ctl_old | ||
2119 | {"epoll_ctl_old", __NR_epoll_ctl_old}, | ||
2120 | #endif | ||
2121 | #endif | ||
2122 | #ifdef SYS_epoll_pwait | ||
2123 | #ifdef __NR_epoll_pwait | ||
2124 | {"epoll_pwait", __NR_epoll_pwait}, | ||
2125 | #endif | ||
2126 | #endif | ||
2127 | #ifdef SYS_epoll_wait | ||
2128 | #ifdef __NR_epoll_wait | ||
2129 | {"epoll_wait", __NR_epoll_wait}, | ||
2130 | #endif | ||
2131 | #endif | ||
2132 | #ifdef SYS_epoll_wait_old | ||
2133 | #ifdef __NR_epoll_wait_old | ||
2134 | {"epoll_wait_old", __NR_epoll_wait_old}, | ||
2135 | #endif | ||
2136 | #endif | ||
2137 | #ifdef SYS_eventfd | ||
2138 | #ifdef __NR_eventfd | ||
2139 | {"eventfd", __NR_eventfd}, | ||
2140 | #endif | ||
2141 | #endif | ||
2142 | #ifdef SYS_eventfd2 | ||
2143 | #ifdef __NR_eventfd2 | ||
2144 | {"eventfd2", __NR_eventfd2}, | ||
2145 | #endif | ||
2146 | #endif | ||
2147 | #ifdef SYS_execve | ||
2148 | #ifdef __NR_execve | ||
2149 | {"execve", __NR_execve}, | ||
2150 | #endif | ||
2151 | #endif | ||
2152 | #ifdef SYS_execveat | ||
2153 | #ifdef __NR_execveat | ||
2154 | {"execveat", __NR_execveat}, | ||
2155 | #endif | ||
2156 | #endif | ||
2157 | #ifdef SYS_exit | ||
2158 | #ifdef __NR_exit | ||
2159 | {"exit", __NR_exit}, | ||
2160 | #endif | ||
2161 | #endif | ||
2162 | #ifdef SYS_exit_group | ||
2163 | #ifdef __NR_exit_group | ||
2164 | {"exit_group", __NR_exit_group}, | ||
2165 | #endif | ||
2166 | #endif | ||
2167 | #ifdef SYS_faccessat | ||
2168 | #ifdef __NR_faccessat | ||
2169 | {"faccessat", __NR_faccessat}, | ||
2170 | #endif | ||
2171 | #endif | ||
2172 | #ifdef SYS_fadvise64 | ||
2173 | #ifdef __NR_fadvise64 | ||
2174 | {"fadvise64", __NR_fadvise64}, | ||
2175 | #endif | ||
2176 | #endif | ||
2177 | #ifdef SYS_fallocate | ||
2178 | #ifdef __NR_fallocate | ||
2179 | {"fallocate", __NR_fallocate}, | ||
2180 | #endif | ||
2181 | #endif | ||
2182 | #ifdef SYS_fanotify_init | ||
2183 | #ifdef __NR_fanotify_init | ||
2184 | {"fanotify_init", __NR_fanotify_init}, | ||
2185 | #endif | ||
2186 | #endif | ||
2187 | #ifdef SYS_fanotify_mark | ||
2188 | #ifdef __NR_fanotify_mark | ||
2189 | {"fanotify_mark", __NR_fanotify_mark}, | ||
2190 | #endif | ||
2191 | #endif | ||
2192 | #ifdef SYS_fchdir | ||
2193 | #ifdef __NR_fchdir | ||
2194 | {"fchdir", __NR_fchdir}, | ||
2195 | #endif | ||
2196 | #endif | ||
2197 | #ifdef SYS_fchmod | ||
2198 | #ifdef __NR_fchmod | ||
2199 | {"fchmod", __NR_fchmod}, | ||
2200 | #endif | ||
2201 | #endif | ||
2202 | #ifdef SYS_fchmodat | ||
2203 | #ifdef __NR_fchmodat | ||
2204 | {"fchmodat", __NR_fchmodat}, | ||
2205 | #endif | ||
2206 | #endif | ||
2207 | #ifdef SYS_fchown | ||
2208 | #ifdef __NR_fchown | ||
2209 | {"fchown", __NR_fchown}, | ||
2210 | #endif | ||
2211 | #endif | ||
2212 | #ifdef SYS_fchownat | ||
2213 | #ifdef __NR_fchownat | ||
2214 | {"fchownat", __NR_fchownat}, | ||
2215 | #endif | ||
2216 | #endif | ||
2217 | #ifdef SYS_fcntl | ||
2218 | #ifdef __NR_fcntl | ||
2219 | {"fcntl", __NR_fcntl}, | ||
2220 | #endif | ||
2221 | #endif | ||
2222 | #ifdef SYS_fdatasync | ||
2223 | #ifdef __NR_fdatasync | ||
2224 | {"fdatasync", __NR_fdatasync}, | ||
2225 | #endif | ||
2226 | #endif | ||
2227 | #ifdef SYS_fgetxattr | ||
2228 | #ifdef __NR_fgetxattr | ||
2229 | {"fgetxattr", __NR_fgetxattr}, | ||
2230 | #endif | ||
2231 | #endif | ||
2232 | #ifdef SYS_finit_module | ||
2233 | #ifdef __NR_finit_module | ||
2234 | {"finit_module", __NR_finit_module}, | ||
2235 | #endif | ||
2236 | #endif | ||
2237 | #ifdef SYS_flistxattr | ||
2238 | #ifdef __NR_flistxattr | ||
2239 | {"flistxattr", __NR_flistxattr}, | ||
2240 | #endif | ||
2241 | #endif | ||
2242 | #ifdef SYS_flock | ||
2243 | #ifdef __NR_flock | ||
2244 | {"flock", __NR_flock}, | ||
2245 | #endif | ||
2246 | #endif | ||
2247 | #ifdef SYS_fork | ||
2248 | #ifdef __NR_fork | ||
2249 | {"fork", __NR_fork}, | ||
2250 | #endif | ||
2251 | #endif | ||
2252 | #ifdef SYS_fremovexattr | ||
2253 | #ifdef __NR_fremovexattr | ||
2254 | {"fremovexattr", __NR_fremovexattr}, | ||
2255 | #endif | ||
2256 | #endif | ||
2257 | #ifdef SYS_fsetxattr | ||
2258 | #ifdef __NR_fsetxattr | ||
2259 | {"fsetxattr", __NR_fsetxattr}, | ||
2260 | #endif | ||
2261 | #endif | ||
2262 | #ifdef SYS_fstat | ||
2263 | #ifdef __NR_fstat | ||
2264 | {"fstat", __NR_fstat}, | ||
2265 | #endif | ||
2266 | #endif | ||
2267 | #ifdef SYS_fstatfs | ||
2268 | #ifdef __NR_fstatfs | ||
2269 | {"fstatfs", __NR_fstatfs}, | ||
2270 | #endif | ||
2271 | #endif | ||
2272 | #ifdef SYS_fsync | ||
2273 | #ifdef __NR_fsync | ||
2274 | {"fsync", __NR_fsync}, | ||
2275 | #endif | ||
2276 | #endif | ||
2277 | #ifdef SYS_ftruncate | ||
2278 | #ifdef __NR_ftruncate | ||
2279 | {"ftruncate", __NR_ftruncate}, | ||
2280 | #endif | ||
2281 | #endif | ||
2282 | #ifdef SYS_futex | ||
2283 | #ifdef __NR_futex | ||
2284 | {"futex", __NR_futex}, | ||
2285 | #endif | ||
2286 | #endif | ||
2287 | #ifdef SYS_futimesat | ||
2288 | #ifdef __NR_futimesat | ||
2289 | {"futimesat", __NR_futimesat}, | ||
2290 | #endif | ||
2291 | #endif | ||
2292 | #ifdef SYS_get_kernel_syms | ||
2293 | #ifdef __NR_get_kernel_syms | ||
2294 | {"get_kernel_syms", __NR_get_kernel_syms}, | ||
2295 | #endif | ||
2296 | #endif | ||
2297 | #ifdef SYS_get_mempolicy | ||
2298 | #ifdef __NR_get_mempolicy | ||
2299 | {"get_mempolicy", __NR_get_mempolicy}, | ||
2300 | #endif | ||
2301 | #endif | ||
2302 | #ifdef SYS_get_robust_list | ||
2303 | #ifdef __NR_get_robust_list | ||
2304 | {"get_robust_list", __NR_get_robust_list}, | ||
2305 | #endif | ||
2306 | #endif | ||
2307 | #ifdef SYS_get_thread_area | ||
2308 | #ifdef __NR_get_thread_area | ||
2309 | {"get_thread_area", __NR_get_thread_area}, | ||
2310 | #endif | ||
2311 | #endif | ||
2312 | #ifdef SYS_getcpu | ||
2313 | #ifdef __NR_getcpu | ||
2314 | {"getcpu", __NR_getcpu}, | ||
2315 | #endif | ||
2316 | #endif | ||
2317 | #ifdef SYS_getcwd | ||
2318 | #ifdef __NR_getcwd | ||
2319 | {"getcwd", __NR_getcwd}, | ||
2320 | #endif | ||
2321 | #endif | ||
2322 | #ifdef SYS_getdents | ||
2323 | #ifdef __NR_getdents | ||
2324 | {"getdents", __NR_getdents}, | ||
2325 | #endif | ||
2326 | #endif | ||
2327 | #ifdef SYS_getdents64 | ||
2328 | #ifdef __NR_getdents64 | ||
2329 | {"getdents64", __NR_getdents64}, | ||
2330 | #endif | ||
2331 | #endif | ||
2332 | #ifdef SYS_getegid | ||
2333 | #ifdef __NR_getegid | ||
2334 | {"getegid", __NR_getegid}, | ||
2335 | #endif | ||
2336 | #endif | ||
2337 | #ifdef SYS_geteuid | ||
2338 | #ifdef __NR_geteuid | ||
2339 | {"geteuid", __NR_geteuid}, | ||
2340 | #endif | ||
2341 | #endif | ||
2342 | #ifdef SYS_getgid | ||
2343 | #ifdef __NR_getgid | ||
2344 | {"getgid", __NR_getgid}, | ||
2345 | #endif | ||
2346 | #endif | ||
2347 | #ifdef SYS_getgroups | ||
2348 | #ifdef __NR_getgroups | ||
2349 | {"getgroups", __NR_getgroups}, | ||
2350 | #endif | ||
2351 | #endif | ||
2352 | #ifdef SYS_getitimer | ||
2353 | #ifdef __NR_getitimer | ||
2354 | {"getitimer", __NR_getitimer}, | ||
2355 | #endif | ||
2356 | #endif | ||
2357 | #ifdef SYS_getpeername | ||
2358 | #ifdef __NR_getpeername | ||
2359 | {"getpeername", __NR_getpeername}, | ||
2360 | #endif | ||
2361 | #endif | ||
2362 | #ifdef SYS_getpgid | ||
2363 | #ifdef __NR_getpgid | ||
2364 | {"getpgid", __NR_getpgid}, | ||
2365 | #endif | ||
2366 | #endif | ||
2367 | #ifdef SYS_getpgrp | ||
2368 | #ifdef __NR_getpgrp | ||
2369 | {"getpgrp", __NR_getpgrp}, | ||
2370 | #endif | ||
2371 | #endif | ||
2372 | #ifdef SYS_getpid | ||
2373 | #ifdef __NR_getpid | ||
2374 | {"getpid", __NR_getpid}, | ||
2375 | #endif | ||
2376 | #endif | ||
2377 | #ifdef SYS_getpmsg | ||
2378 | #ifdef __NR_getpmsg | ||
2379 | {"getpmsg", __NR_getpmsg}, | ||
2380 | #endif | ||
2381 | #endif | ||
2382 | #ifdef SYS_getppid | ||
2383 | #ifdef __NR_getppid | ||
2384 | {"getppid", __NR_getppid}, | ||
2385 | #endif | ||
2386 | #endif | ||
2387 | #ifdef SYS_getpriority | ||
2388 | #ifdef __NR_getpriority | ||
2389 | {"getpriority", __NR_getpriority}, | ||
2390 | #endif | ||
2391 | #endif | ||
2392 | #ifdef SYS_getrandom | ||
2393 | #ifdef __NR_getrandom | ||
2394 | {"getrandom", __NR_getrandom}, | ||
2395 | #endif | ||
2396 | #endif | ||
2397 | #ifdef SYS_getresgid | ||
2398 | #ifdef __NR_getresgid | ||
2399 | {"getresgid", __NR_getresgid}, | ||
2400 | #endif | ||
2401 | #endif | ||
2402 | #ifdef SYS_getresuid | ||
2403 | #ifdef __NR_getresuid | ||
2404 | {"getresuid", __NR_getresuid}, | ||
2405 | #endif | ||
2406 | #endif | ||
2407 | #ifdef SYS_getrlimit | ||
2408 | #ifdef __NR_getrlimit | ||
2409 | {"getrlimit", __NR_getrlimit}, | ||
2410 | #endif | ||
2411 | #endif | ||
2412 | #ifdef SYS_getrusage | ||
2413 | #ifdef __NR_getrusage | ||
2414 | {"getrusage", __NR_getrusage}, | ||
2415 | #endif | ||
2416 | #endif | ||
2417 | #ifdef SYS_getsid | ||
2418 | #ifdef __NR_getsid | ||
2419 | {"getsid", __NR_getsid}, | ||
2420 | #endif | ||
2421 | #endif | ||
2422 | #ifdef SYS_getsockname | ||
2423 | #ifdef __NR_getsockname | ||
2424 | {"getsockname", __NR_getsockname}, | ||
2425 | #endif | ||
2426 | #endif | ||
2427 | #ifdef SYS_getsockopt | ||
2428 | #ifdef __NR_getsockopt | ||
2429 | {"getsockopt", __NR_getsockopt}, | ||
2430 | #endif | ||
2431 | #endif | ||
2432 | #ifdef SYS_gettid | ||
2433 | #ifdef __NR_gettid | ||
2434 | {"gettid", __NR_gettid}, | ||
2435 | #endif | ||
2436 | #endif | ||
2437 | #ifdef SYS_gettimeofday | ||
2438 | #ifdef __NR_gettimeofday | ||
2439 | {"gettimeofday", __NR_gettimeofday}, | ||
2440 | #endif | ||
2441 | #endif | ||
2442 | #ifdef SYS_getuid | ||
2443 | #ifdef __NR_getuid | ||
2444 | {"getuid", __NR_getuid}, | ||
2445 | #endif | ||
2446 | #endif | ||
2447 | #ifdef SYS_getxattr | ||
2448 | #ifdef __NR_getxattr | ||
2449 | {"getxattr", __NR_getxattr}, | ||
2450 | #endif | ||
2451 | #endif | ||
2452 | #ifdef SYS_init_module | ||
2453 | #ifdef __NR_init_module | ||
2454 | {"init_module", __NR_init_module}, | ||
2455 | #endif | ||
2456 | #endif | ||
2457 | #ifdef SYS_inotify_add_watch | ||
2458 | #ifdef __NR_inotify_add_watch | ||
2459 | {"inotify_add_watch", __NR_inotify_add_watch}, | ||
2460 | #endif | ||
2461 | #endif | ||
2462 | #ifdef SYS_inotify_init | ||
2463 | #ifdef __NR_inotify_init | ||
2464 | {"inotify_init", __NR_inotify_init}, | ||
2465 | #endif | ||
2466 | #endif | ||
2467 | #ifdef SYS_inotify_init1 | ||
2468 | #ifdef __NR_inotify_init1 | ||
2469 | {"inotify_init1", __NR_inotify_init1}, | ||
2470 | #endif | ||
2471 | #endif | ||
2472 | #ifdef SYS_inotify_rm_watch | ||
2473 | #ifdef __NR_inotify_rm_watch | ||
2474 | {"inotify_rm_watch", __NR_inotify_rm_watch}, | ||
2475 | #endif | ||
2476 | #endif | ||
2477 | #ifdef SYS_io_cancel | ||
2478 | #ifdef __NR_io_cancel | ||
2479 | {"io_cancel", __NR_io_cancel}, | ||
2480 | #endif | ||
2481 | #endif | ||
2482 | #ifdef SYS_io_destroy | ||
2483 | #ifdef __NR_io_destroy | ||
2484 | {"io_destroy", __NR_io_destroy}, | ||
2485 | #endif | ||
2486 | #endif | ||
2487 | #ifdef SYS_io_getevents | ||
2488 | #ifdef __NR_io_getevents | ||
2489 | {"io_getevents", __NR_io_getevents}, | ||
2490 | #endif | ||
2491 | #endif | ||
2492 | #ifdef SYS_io_setup | ||
2493 | #ifdef __NR_io_setup | ||
2494 | {"io_setup", __NR_io_setup}, | ||
2495 | #endif | ||
2496 | #endif | ||
2497 | #ifdef SYS_io_submit | ||
2498 | #ifdef __NR_io_submit | ||
2499 | {"io_submit", __NR_io_submit}, | ||
2500 | #endif | ||
2501 | #endif | ||
2502 | #ifdef SYS_ioctl | ||
2503 | #ifdef __NR_ioctl | ||
2504 | {"ioctl", __NR_ioctl}, | ||
2505 | #endif | ||
2506 | #endif | ||
2507 | #ifdef SYS_ioperm | ||
2508 | #ifdef __NR_ioperm | ||
2509 | {"ioperm", __NR_ioperm}, | ||
2510 | #endif | ||
2511 | #endif | ||
2512 | #ifdef SYS_iopl | ||
2513 | #ifdef __NR_iopl | ||
2514 | {"iopl", __NR_iopl}, | ||
2515 | #endif | ||
2516 | #endif | ||
2517 | #ifdef SYS_ioprio_get | ||
2518 | #ifdef __NR_ioprio_get | ||
2519 | {"ioprio_get", __NR_ioprio_get}, | ||
2520 | #endif | ||
2521 | #endif | ||
2522 | #ifdef SYS_ioprio_set | ||
2523 | #ifdef __NR_ioprio_set | ||
2524 | {"ioprio_set", __NR_ioprio_set}, | ||
2525 | #endif | ||
2526 | #endif | ||
2527 | #ifdef SYS_kcmp | ||
2528 | #ifdef __NR_kcmp | ||
2529 | {"kcmp", __NR_kcmp}, | ||
2530 | #endif | ||
2531 | #endif | ||
2532 | #ifdef SYS_kexec_file_load | ||
2533 | #ifdef __NR_kexec_file_load | ||
2534 | {"kexec_file_load", __NR_kexec_file_load}, | ||
2535 | #endif | ||
2536 | #endif | ||
2537 | #ifdef SYS_kexec_load | ||
2538 | #ifdef __NR_kexec_load | ||
2539 | {"kexec_load", __NR_kexec_load}, | ||
2540 | #endif | ||
2541 | #endif | ||
2542 | #ifdef SYS_keyctl | ||
2543 | #ifdef __NR_keyctl | ||
2544 | {"keyctl", __NR_keyctl}, | ||
2545 | #endif | ||
2546 | #endif | ||
2547 | #ifdef SYS_kill | ||
2548 | #ifdef __NR_kill | ||
2549 | {"kill", __NR_kill}, | ||
2550 | #endif | ||
2551 | #endif | ||
2552 | #ifdef SYS_lchown | ||
2553 | #ifdef __NR_lchown | ||
2554 | {"lchown", __NR_lchown}, | ||
2555 | #endif | ||
2556 | #endif | ||
2557 | #ifdef SYS_lgetxattr | ||
2558 | #ifdef __NR_lgetxattr | ||
2559 | {"lgetxattr", __NR_lgetxattr}, | ||
2560 | #endif | ||
2561 | #endif | ||
2562 | #ifdef SYS_link | ||
2563 | #ifdef __NR_link | ||
2564 | {"link", __NR_link}, | ||
2565 | #endif | ||
2566 | #endif | ||
2567 | #ifdef SYS_linkat | ||
2568 | #ifdef __NR_linkat | ||
2569 | {"linkat", __NR_linkat}, | ||
2570 | #endif | ||
2571 | #endif | ||
2572 | #ifdef SYS_listen | ||
2573 | #ifdef __NR_listen | ||
2574 | {"listen", __NR_listen}, | ||
2575 | #endif | ||
2576 | #endif | ||
2577 | #ifdef SYS_listxattr | ||
2578 | #ifdef __NR_listxattr | ||
2579 | {"listxattr", __NR_listxattr}, | ||
2580 | #endif | ||
2581 | #endif | ||
2582 | #ifdef SYS_llistxattr | ||
2583 | #ifdef __NR_llistxattr | ||
2584 | {"llistxattr", __NR_llistxattr}, | ||
2585 | #endif | ||
2586 | #endif | ||
2587 | #ifdef SYS_lookup_dcookie | ||
2588 | #ifdef __NR_lookup_dcookie | ||
2589 | {"lookup_dcookie", __NR_lookup_dcookie}, | ||
2590 | #endif | ||
2591 | #endif | ||
2592 | #ifdef SYS_lremovexattr | ||
2593 | #ifdef __NR_lremovexattr | ||
2594 | {"lremovexattr", __NR_lremovexattr}, | ||
2595 | #endif | ||
2596 | #endif | ||
2597 | #ifdef SYS_lseek | ||
2598 | #ifdef __NR_lseek | ||
2599 | {"lseek", __NR_lseek}, | ||
2600 | #endif | ||
2601 | #endif | ||
2602 | #ifdef SYS_lsetxattr | ||
2603 | #ifdef __NR_lsetxattr | ||
2604 | {"lsetxattr", __NR_lsetxattr}, | ||
2605 | #endif | ||
2606 | #endif | ||
2607 | #ifdef SYS_lstat | ||
2608 | #ifdef __NR_lstat | ||
2609 | {"lstat", __NR_lstat}, | ||
2610 | #endif | ||
2611 | #endif | ||
2612 | #ifdef SYS_madvise | ||
2613 | #ifdef __NR_madvise | ||
2614 | {"madvise", __NR_madvise}, | ||
2615 | #endif | ||
2616 | #endif | ||
2617 | #ifdef SYS_mbind | ||
2618 | #ifdef __NR_mbind | ||
2619 | {"mbind", __NR_mbind}, | ||
2620 | #endif | ||
2621 | #endif | ||
2622 | #ifdef SYS_membarrier | ||
2623 | #ifdef __NR_membarrier | ||
2624 | {"membarrier", __NR_membarrier}, | ||
2625 | #endif | ||
2626 | #endif | ||
2627 | #ifdef SYS_memfd_create | ||
2628 | #ifdef __NR_memfd_create | ||
2629 | {"memfd_create", __NR_memfd_create}, | ||
2630 | #endif | ||
2631 | #endif | ||
2632 | #ifdef SYS_migrate_pages | ||
2633 | #ifdef __NR_migrate_pages | ||
2634 | {"migrate_pages", __NR_migrate_pages}, | ||
2635 | #endif | ||
2636 | #endif | ||
2637 | #ifdef SYS_mincore | ||
2638 | #ifdef __NR_mincore | ||
2639 | {"mincore", __NR_mincore}, | ||
2640 | #endif | ||
2641 | #endif | ||
2642 | #ifdef SYS_mkdir | ||
2643 | #ifdef __NR_mkdir | ||
2644 | {"mkdir", __NR_mkdir}, | ||
2645 | #endif | ||
2646 | #endif | ||
2647 | #ifdef SYS_mkdirat | ||
2648 | #ifdef __NR_mkdirat | ||
2649 | {"mkdirat", __NR_mkdirat}, | ||
2650 | #endif | ||
2651 | #endif | ||
2652 | #ifdef SYS_mknod | ||
2653 | #ifdef __NR_mknod | ||
2654 | {"mknod", __NR_mknod}, | ||
2655 | #endif | ||
2656 | #endif | ||
2657 | #ifdef SYS_mknodat | ||
2658 | #ifdef __NR_mknodat | ||
2659 | {"mknodat", __NR_mknodat}, | ||
2660 | #endif | ||
2661 | #endif | ||
2662 | #ifdef SYS_mlock | ||
2663 | #ifdef __NR_mlock | ||
2664 | {"mlock", __NR_mlock}, | ||
2665 | #endif | ||
2666 | #endif | ||
2667 | #ifdef SYS_mlock2 | ||
2668 | #ifdef __NR_mlock2 | ||
2669 | {"mlock2", __NR_mlock2}, | ||
2670 | #endif | ||
2671 | #endif | ||
2672 | #ifdef SYS_mlockall | ||
2673 | #ifdef __NR_mlockall | ||
2674 | {"mlockall", __NR_mlockall}, | ||
2675 | #endif | ||
2676 | #endif | ||
2677 | #ifdef SYS_mmap | ||
2678 | #ifdef __NR_mmap | ||
2679 | {"mmap", __NR_mmap}, | ||
2680 | #endif | ||
2681 | #endif | ||
2682 | #ifdef SYS_modify_ldt | ||
2683 | #ifdef __NR_modify_ldt | ||
2684 | {"modify_ldt", __NR_modify_ldt}, | ||
2685 | #endif | ||
2686 | #endif | ||
2687 | #ifdef SYS_mount | ||
2688 | #ifdef __NR_mount | ||
2689 | {"mount", __NR_mount}, | ||
2690 | #endif | ||
2691 | #endif | ||
2692 | #ifdef SYS_move_pages | ||
2693 | #ifdef __NR_move_pages | ||
2694 | {"move_pages", __NR_move_pages}, | ||
2695 | #endif | ||
2696 | #endif | ||
2697 | #ifdef SYS_mprotect | ||
2698 | #ifdef __NR_mprotect | ||
2699 | {"mprotect", __NR_mprotect}, | ||
2700 | #endif | ||
2701 | #endif | ||
2702 | #ifdef SYS_mq_getsetattr | ||
2703 | #ifdef __NR_mq_getsetattr | ||
2704 | {"mq_getsetattr", __NR_mq_getsetattr}, | ||
2705 | #endif | ||
2706 | #endif | ||
2707 | #ifdef SYS_mq_notify | ||
2708 | #ifdef __NR_mq_notify | ||
2709 | {"mq_notify", __NR_mq_notify}, | ||
2710 | #endif | ||
2711 | #endif | ||
2712 | #ifdef SYS_mq_open | ||
2713 | #ifdef __NR_mq_open | ||
2714 | {"mq_open", __NR_mq_open}, | ||
2715 | #endif | ||
2716 | #endif | ||
2717 | #ifdef SYS_mq_timedreceive | ||
2718 | #ifdef __NR_mq_timedreceive | ||
2719 | {"mq_timedreceive", __NR_mq_timedreceive}, | ||
2720 | #endif | ||
2721 | #endif | ||
2722 | #ifdef SYS_mq_timedsend | ||
2723 | #ifdef __NR_mq_timedsend | ||
2724 | {"mq_timedsend", __NR_mq_timedsend}, | ||
2725 | #endif | ||
2726 | #endif | ||
2727 | #ifdef SYS_mq_unlink | ||
2728 | #ifdef __NR_mq_unlink | ||
2729 | {"mq_unlink", __NR_mq_unlink}, | ||
2730 | #endif | ||
2731 | #endif | ||
2732 | #ifdef SYS_mremap | ||
2733 | #ifdef __NR_mremap | ||
2734 | {"mremap", __NR_mremap}, | ||
2735 | #endif | ||
2736 | #endif | ||
2737 | #ifdef SYS_msgctl | ||
2738 | #ifdef __NR_msgctl | ||
2739 | {"msgctl", __NR_msgctl}, | ||
2740 | #endif | ||
2741 | #endif | ||
2742 | #ifdef SYS_msgget | ||
2743 | #ifdef __NR_msgget | ||
2744 | {"msgget", __NR_msgget}, | ||
2745 | #endif | ||
2746 | #endif | ||
2747 | #ifdef SYS_msgrcv | ||
2748 | #ifdef __NR_msgrcv | ||
2749 | {"msgrcv", __NR_msgrcv}, | ||
2750 | #endif | ||
2751 | #endif | ||
2752 | #ifdef SYS_msgsnd | ||
2753 | #ifdef __NR_msgsnd | ||
2754 | {"msgsnd", __NR_msgsnd}, | ||
2755 | #endif | ||
2756 | #endif | ||
2757 | #ifdef SYS_msync | ||
2758 | #ifdef __NR_msync | ||
2759 | {"msync", __NR_msync}, | ||
2760 | #endif | ||
2761 | #endif | ||
2762 | #ifdef SYS_munlock | ||
2763 | #ifdef __NR_munlock | ||
2764 | {"munlock", __NR_munlock}, | ||
2765 | #endif | ||
2766 | #endif | ||
2767 | #ifdef SYS_munlockall | ||
2768 | #ifdef __NR_munlockall | ||
2769 | {"munlockall", __NR_munlockall}, | ||
2770 | #endif | ||
2771 | #endif | ||
2772 | #ifdef SYS_munmap | ||
2773 | #ifdef __NR_munmap | ||
2774 | {"munmap", __NR_munmap}, | ||
2775 | #endif | ||
2776 | #endif | ||
2777 | #ifdef SYS_name_to_handle_at | ||
2778 | #ifdef __NR_name_to_handle_at | ||
2779 | {"name_to_handle_at", __NR_name_to_handle_at}, | ||
2780 | #endif | ||
2781 | #endif | ||
2782 | #ifdef SYS_nanosleep | ||
2783 | #ifdef __NR_nanosleep | ||
2784 | {"nanosleep", __NR_nanosleep}, | ||
2785 | #endif | ||
2786 | #endif | ||
2787 | #ifdef SYS_newfstatat | ||
2788 | #ifdef __NR_newfstatat | ||
2789 | {"newfstatat", __NR_newfstatat}, | ||
2790 | #endif | ||
2791 | #endif | ||
2792 | #ifdef SYS_nfsservctl | ||
2793 | #ifdef __NR_nfsservctl | ||
2794 | {"nfsservctl", __NR_nfsservctl}, | ||
2795 | #endif | ||
2796 | #endif | ||
2797 | #ifdef SYS_open | ||
2798 | #ifdef __NR_open | ||
2799 | {"open", __NR_open}, | ||
2800 | #endif | ||
2801 | #endif | ||
2802 | #ifdef SYS_open_by_handle_at | ||
2803 | #ifdef __NR_open_by_handle_at | ||
2804 | {"open_by_handle_at", __NR_open_by_handle_at}, | ||
2805 | #endif | ||
2806 | #endif | ||
2807 | #ifdef SYS_openat | ||
2808 | #ifdef __NR_openat | ||
2809 | {"openat", __NR_openat}, | ||
2810 | #endif | ||
2811 | #endif | ||
2812 | #ifdef SYS_pause | ||
2813 | #ifdef __NR_pause | ||
2814 | {"pause", __NR_pause}, | ||
2815 | #endif | ||
2816 | #endif | ||
2817 | #ifdef SYS_perf_event_open | ||
2818 | #ifdef __NR_perf_event_open | ||
2819 | {"perf_event_open", __NR_perf_event_open}, | ||
2820 | #endif | ||
2821 | #endif | ||
2822 | #ifdef SYS_personality | ||
2823 | #ifdef __NR_personality | ||
2824 | {"personality", __NR_personality}, | ||
2825 | #endif | ||
2826 | #endif | ||
2827 | #ifdef SYS_pipe | ||
2828 | #ifdef __NR_pipe | ||
2829 | {"pipe", __NR_pipe}, | ||
2830 | #endif | ||
2831 | #endif | ||
2832 | #ifdef SYS_pipe2 | ||
2833 | #ifdef __NR_pipe2 | ||
2834 | {"pipe2", __NR_pipe2}, | ||
2835 | #endif | ||
2836 | #endif | ||
2837 | #ifdef SYS_pivot_root | ||
2838 | #ifdef __NR_pivot_root | ||
2839 | {"pivot_root", __NR_pivot_root}, | ||
2840 | #endif | ||
2841 | #endif | ||
2842 | #ifdef SYS_pkey_alloc | ||
2843 | #ifdef __NR_pkey_alloc | ||
2844 | {"pkey_alloc", __NR_pkey_alloc}, | ||
2845 | #endif | ||
2846 | #endif | ||
2847 | #ifdef SYS_pkey_free | ||
2848 | #ifdef __NR_pkey_free | ||
2849 | {"pkey_free", __NR_pkey_free}, | ||
2850 | #endif | ||
2851 | #endif | ||
2852 | #ifdef SYS_pkey_mprotect | ||
2853 | #ifdef __NR_pkey_mprotect | ||
2854 | {"pkey_mprotect", __NR_pkey_mprotect}, | ||
2855 | #endif | ||
2856 | #endif | ||
2857 | #ifdef SYS_poll | ||
2858 | #ifdef __NR_poll | ||
2859 | {"poll", __NR_poll}, | ||
2860 | #endif | ||
2861 | #endif | ||
2862 | #ifdef SYS_ppoll | ||
2863 | #ifdef __NR_ppoll | ||
2864 | {"ppoll", __NR_ppoll}, | ||
2865 | #endif | ||
2866 | #endif | ||
2867 | #ifdef SYS_prctl | ||
2868 | #ifdef __NR_prctl | ||
2869 | {"prctl", __NR_prctl}, | ||
2870 | #endif | ||
2871 | #endif | ||
2872 | #ifdef SYS_pread64 | ||
2873 | #ifdef __NR_pread64 | ||
2874 | {"pread64", __NR_pread64}, | ||
2875 | #endif | ||
2876 | #endif | ||
2877 | #ifdef SYS_preadv | ||
2878 | #ifdef __NR_preadv | ||
2879 | {"preadv", __NR_preadv}, | ||
2880 | #endif | ||
2881 | #endif | ||
2882 | #ifdef SYS_preadv2 | ||
2883 | #ifdef __NR_preadv2 | ||
2884 | {"preadv2", __NR_preadv2}, | ||
2885 | #endif | ||
2886 | #endif | ||
2887 | #ifdef SYS_prlimit64 | ||
2888 | #ifdef __NR_prlimit64 | ||
2889 | {"prlimit64", __NR_prlimit64}, | ||
2890 | #endif | ||
2891 | #endif | ||
2892 | #ifdef SYS_process_vm_readv | ||
2893 | #ifdef __NR_process_vm_readv | ||
2894 | {"process_vm_readv", __NR_process_vm_readv}, | ||
2895 | #endif | ||
2896 | #endif | ||
2897 | #ifdef SYS_process_vm_writev | ||
2898 | #ifdef __NR_process_vm_writev | ||
2899 | {"process_vm_writev", __NR_process_vm_writev}, | ||
2900 | #endif | ||
2901 | #endif | ||
2902 | #ifdef SYS_pselect6 | ||
2903 | #ifdef __NR_pselect6 | ||
2904 | {"pselect6", __NR_pselect6}, | ||
2905 | #endif | ||
2906 | #endif | ||
2907 | #ifdef SYS_ptrace | ||
2908 | #ifdef __NR_ptrace | ||
2909 | {"ptrace", __NR_ptrace}, | ||
2910 | #endif | ||
2911 | #endif | ||
2912 | #ifdef SYS_putpmsg | ||
2913 | #ifdef __NR_putpmsg | ||
2914 | {"putpmsg", __NR_putpmsg}, | ||
2915 | #endif | ||
2916 | #endif | ||
2917 | #ifdef SYS_pwrite64 | ||
2918 | #ifdef __NR_pwrite64 | ||
2919 | {"pwrite64", __NR_pwrite64}, | ||
2920 | #endif | ||
2921 | #endif | ||
2922 | #ifdef SYS_pwritev | ||
2923 | #ifdef __NR_pwritev | ||
2924 | {"pwritev", __NR_pwritev}, | ||
2925 | #endif | ||
2926 | #endif | ||
2927 | #ifdef SYS_pwritev2 | ||
2928 | #ifdef __NR_pwritev2 | ||
2929 | {"pwritev2", __NR_pwritev2}, | ||
2930 | #endif | ||
2931 | #endif | ||
2932 | #ifdef SYS_query_module | ||
2933 | #ifdef __NR_query_module | ||
2934 | {"query_module", __NR_query_module}, | ||
2935 | #endif | ||
2936 | #endif | ||
2937 | #ifdef SYS_quotactl | ||
2938 | #ifdef __NR_quotactl | ||
2939 | {"quotactl", __NR_quotactl}, | ||
2940 | #endif | ||
2941 | #endif | ||
2942 | #ifdef SYS_read | ||
2943 | #ifdef __NR_read | ||
2944 | {"read", __NR_read}, | ||
2945 | #endif | ||
2946 | #endif | ||
2947 | #ifdef SYS_readahead | ||
2948 | #ifdef __NR_readahead | ||
2949 | {"readahead", __NR_readahead}, | ||
2950 | #endif | ||
2951 | #endif | ||
2952 | #ifdef SYS_readlink | ||
2953 | #ifdef __NR_readlink | ||
2954 | {"readlink", __NR_readlink}, | ||
2955 | #endif | ||
2956 | #endif | ||
2957 | #ifdef SYS_readlinkat | ||
2958 | #ifdef __NR_readlinkat | ||
2959 | {"readlinkat", __NR_readlinkat}, | ||
2960 | #endif | ||
2961 | #endif | ||
2962 | #ifdef SYS_readv | ||
2963 | #ifdef __NR_readv | ||
2964 | {"readv", __NR_readv}, | ||
2965 | #endif | ||
2966 | #endif | ||
2967 | #ifdef SYS_reboot | ||
2968 | #ifdef __NR_reboot | ||
2969 | {"reboot", __NR_reboot}, | ||
2970 | #endif | ||
2971 | #endif | ||
2972 | #ifdef SYS_recvfrom | ||
2973 | #ifdef __NR_recvfrom | ||
2974 | {"recvfrom", __NR_recvfrom}, | ||
2975 | #endif | ||
2976 | #endif | ||
2977 | #ifdef SYS_recvmmsg | ||
2978 | #ifdef __NR_recvmmsg | ||
2979 | {"recvmmsg", __NR_recvmmsg}, | ||
2980 | #endif | ||
2981 | #endif | ||
2982 | #ifdef SYS_recvmsg | ||
2983 | #ifdef __NR_recvmsg | ||
2984 | {"recvmsg", __NR_recvmsg}, | ||
2985 | #endif | ||
2986 | #endif | ||
2987 | #ifdef SYS_remap_file_pages | ||
2988 | #ifdef __NR_remap_file_pages | ||
2989 | {"remap_file_pages", __NR_remap_file_pages}, | ||
2990 | #endif | ||
2991 | #endif | ||
2992 | #ifdef SYS_removexattr | ||
2993 | #ifdef __NR_removexattr | ||
2994 | {"removexattr", __NR_removexattr}, | ||
2995 | #endif | ||
2996 | #endif | ||
2997 | #ifdef SYS_rename | ||
2998 | #ifdef __NR_rename | ||
2999 | {"rename", __NR_rename}, | ||
3000 | #endif | ||
3001 | #endif | ||
3002 | #ifdef SYS_renameat | ||
3003 | #ifdef __NR_renameat | ||
3004 | {"renameat", __NR_renameat}, | ||
3005 | #endif | ||
3006 | #endif | ||
3007 | #ifdef SYS_renameat2 | ||
3008 | #ifdef __NR_renameat2 | ||
3009 | {"renameat2", __NR_renameat2}, | ||
3010 | #endif | ||
3011 | #endif | ||
3012 | #ifdef SYS_request_key | ||
3013 | #ifdef __NR_request_key | ||
3014 | {"request_key", __NR_request_key}, | ||
3015 | #endif | ||
3016 | #endif | ||
3017 | #ifdef SYS_restart_syscall | ||
3018 | #ifdef __NR_restart_syscall | ||
3019 | {"restart_syscall", __NR_restart_syscall}, | ||
3020 | #endif | ||
3021 | #endif | ||
3022 | #ifdef SYS_rmdir | ||
3023 | #ifdef __NR_rmdir | ||
3024 | {"rmdir", __NR_rmdir}, | ||
3025 | #endif | ||
3026 | #endif | ||
3027 | #ifdef SYS_rt_sigaction | ||
3028 | #ifdef __NR_rt_sigaction | ||
3029 | {"rt_sigaction", __NR_rt_sigaction}, | ||
3030 | #endif | ||
3031 | #endif | ||
3032 | #ifdef SYS_rt_sigpending | ||
3033 | #ifdef __NR_rt_sigpending | ||
3034 | {"rt_sigpending", __NR_rt_sigpending}, | ||
3035 | #endif | ||
3036 | #endif | ||
3037 | #ifdef SYS_rt_sigprocmask | ||
3038 | #ifdef __NR_rt_sigprocmask | ||
3039 | {"rt_sigprocmask", __NR_rt_sigprocmask}, | ||
3040 | #endif | ||
3041 | #endif | ||
3042 | #ifdef SYS_rt_sigqueueinfo | ||
3043 | #ifdef __NR_rt_sigqueueinfo | ||
3044 | {"rt_sigqueueinfo", __NR_rt_sigqueueinfo}, | ||
3045 | #endif | ||
3046 | #endif | ||
3047 | #ifdef SYS_rt_sigreturn | ||
3048 | #ifdef __NR_rt_sigreturn | ||
3049 | {"rt_sigreturn", __NR_rt_sigreturn}, | ||
3050 | #endif | ||
3051 | #endif | ||
3052 | #ifdef SYS_rt_sigsuspend | ||
3053 | #ifdef __NR_rt_sigsuspend | ||
3054 | {"rt_sigsuspend", __NR_rt_sigsuspend}, | ||
3055 | #endif | ||
3056 | #endif | ||
3057 | #ifdef SYS_rt_sigtimedwait | ||
3058 | #ifdef __NR_rt_sigtimedwait | ||
3059 | {"rt_sigtimedwait", __NR_rt_sigtimedwait}, | ||
3060 | #endif | ||
3061 | #endif | ||
3062 | #ifdef SYS_rt_tgsigqueueinfo | ||
3063 | #ifdef __NR_rt_tgsigqueueinfo | ||
3064 | {"rt_tgsigqueueinfo", __NR_rt_tgsigqueueinfo}, | ||
3065 | #endif | ||
3066 | #endif | ||
3067 | #ifdef SYS_sched_get_priority_max | ||
3068 | #ifdef __NR_sched_get_priority_max | ||
3069 | {"sched_get_priority_max", __NR_sched_get_priority_max}, | ||
3070 | #endif | ||
3071 | #endif | ||
3072 | #ifdef SYS_sched_get_priority_min | ||
3073 | #ifdef __NR_sched_get_priority_min | ||
3074 | {"sched_get_priority_min", __NR_sched_get_priority_min}, | ||
3075 | #endif | ||
3076 | #endif | ||
3077 | #ifdef SYS_sched_getaffinity | ||
3078 | #ifdef __NR_sched_getaffinity | ||
3079 | {"sched_getaffinity", __NR_sched_getaffinity}, | ||
3080 | #endif | ||
3081 | #endif | ||
3082 | #ifdef SYS_sched_getattr | ||
3083 | #ifdef __NR_sched_getattr | ||
3084 | {"sched_getattr", __NR_sched_getattr}, | ||
3085 | #endif | ||
3086 | #endif | ||
3087 | #ifdef SYS_sched_getparam | ||
3088 | #ifdef __NR_sched_getparam | ||
3089 | {"sched_getparam", __NR_sched_getparam}, | ||
3090 | #endif | ||
3091 | #endif | ||
3092 | #ifdef SYS_sched_getscheduler | ||
3093 | #ifdef __NR_sched_getscheduler | ||
3094 | {"sched_getscheduler", __NR_sched_getscheduler}, | ||
3095 | #endif | ||
3096 | #endif | ||
3097 | #ifdef SYS_sched_rr_get_interval | ||
3098 | #ifdef __NR_sched_rr_get_interval | ||
3099 | {"sched_rr_get_interval", __NR_sched_rr_get_interval}, | ||
3100 | #endif | ||
3101 | #endif | ||
3102 | #ifdef SYS_sched_setaffinity | ||
3103 | #ifdef __NR_sched_setaffinity | ||
3104 | {"sched_setaffinity", __NR_sched_setaffinity}, | ||
3105 | #endif | ||
3106 | #endif | ||
3107 | #ifdef SYS_sched_setattr | ||
3108 | #ifdef __NR_sched_setattr | ||
3109 | {"sched_setattr", __NR_sched_setattr}, | ||
3110 | #endif | ||
3111 | #endif | ||
3112 | #ifdef SYS_sched_setparam | ||
3113 | #ifdef __NR_sched_setparam | ||
3114 | {"sched_setparam", __NR_sched_setparam}, | ||
3115 | #endif | ||
3116 | #endif | ||
3117 | #ifdef SYS_sched_setscheduler | ||
3118 | #ifdef __NR_sched_setscheduler | ||
3119 | {"sched_setscheduler", __NR_sched_setscheduler}, | ||
3120 | #endif | ||
3121 | #endif | ||
3122 | #ifdef SYS_sched_yield | ||
3123 | #ifdef __NR_sched_yield | ||
3124 | {"sched_yield", __NR_sched_yield}, | ||
3125 | #endif | ||
3126 | #endif | ||
3127 | #ifdef SYS_seccomp | ||
3128 | #ifdef __NR_seccomp | ||
3129 | {"seccomp", __NR_seccomp}, | ||
3130 | #endif | ||
3131 | #endif | ||
3132 | #ifdef SYS_security | ||
3133 | #ifdef __NR_security | ||
3134 | {"security", __NR_security}, | ||
3135 | #endif | ||
3136 | #endif | ||
3137 | #ifdef SYS_select | ||
3138 | #ifdef __NR_select | ||
3139 | {"select", __NR_select}, | ||
3140 | #endif | ||
3141 | #endif | ||
3142 | #ifdef SYS_semctl | ||
3143 | #ifdef __NR_semctl | ||
3144 | {"semctl", __NR_semctl}, | ||
3145 | #endif | ||
3146 | #endif | ||
3147 | #ifdef SYS_semget | ||
3148 | #ifdef __NR_semget | ||
3149 | {"semget", __NR_semget}, | ||
3150 | #endif | ||
3151 | #endif | ||
3152 | #ifdef SYS_semop | ||
3153 | #ifdef __NR_semop | ||
3154 | {"semop", __NR_semop}, | ||
3155 | #endif | ||
3156 | #endif | ||
3157 | #ifdef SYS_semtimedop | ||
3158 | #ifdef __NR_semtimedop | ||
3159 | {"semtimedop", __NR_semtimedop}, | ||
3160 | #endif | ||
3161 | #endif | ||
3162 | #ifdef SYS_sendfile | ||
3163 | #ifdef __NR_sendfile | ||
3164 | {"sendfile", __NR_sendfile}, | ||
3165 | #endif | ||
3166 | #endif | ||
3167 | #ifdef SYS_sendmmsg | ||
3168 | #ifdef __NR_sendmmsg | ||
3169 | {"sendmmsg", __NR_sendmmsg}, | ||
3170 | #endif | ||
3171 | #endif | ||
3172 | #ifdef SYS_sendmsg | ||
3173 | #ifdef __NR_sendmsg | ||
3174 | {"sendmsg", __NR_sendmsg}, | ||
3175 | #endif | ||
3176 | #endif | ||
3177 | #ifdef SYS_sendto | ||
3178 | #ifdef __NR_sendto | ||
3179 | {"sendto", __NR_sendto}, | ||
3180 | #endif | ||
3181 | #endif | ||
3182 | #ifdef SYS_set_mempolicy | ||
3183 | #ifdef __NR_set_mempolicy | ||
3184 | {"set_mempolicy", __NR_set_mempolicy}, | ||
3185 | #endif | ||
3186 | #endif | ||
3187 | #ifdef SYS_set_robust_list | ||
3188 | #ifdef __NR_set_robust_list | ||
3189 | {"set_robust_list", __NR_set_robust_list}, | ||
3190 | #endif | ||
3191 | #endif | ||
3192 | #ifdef SYS_set_thread_area | ||
3193 | #ifdef __NR_set_thread_area | ||
3194 | {"set_thread_area", __NR_set_thread_area}, | ||
3195 | #endif | ||
3196 | #endif | ||
3197 | #ifdef SYS_set_tid_address | ||
3198 | #ifdef __NR_set_tid_address | ||
3199 | {"set_tid_address", __NR_set_tid_address}, | ||
3200 | #endif | ||
3201 | #endif | ||
3202 | #ifdef SYS_setdomainname | ||
3203 | #ifdef __NR_setdomainname | ||
3204 | {"setdomainname", __NR_setdomainname}, | ||
3205 | #endif | ||
3206 | #endif | ||
3207 | #ifdef SYS_setfsgid | ||
3208 | #ifdef __NR_setfsgid | ||
3209 | {"setfsgid", __NR_setfsgid}, | ||
3210 | #endif | ||
3211 | #endif | ||
3212 | #ifdef SYS_setfsuid | ||
3213 | #ifdef __NR_setfsuid | ||
3214 | {"setfsuid", __NR_setfsuid}, | ||
3215 | #endif | ||
3216 | #endif | ||
3217 | #ifdef SYS_setgid | ||
3218 | #ifdef __NR_setgid | ||
3219 | {"setgid", __NR_setgid}, | ||
3220 | #endif | ||
3221 | #endif | ||
3222 | #ifdef SYS_setgroups | ||
3223 | #ifdef __NR_setgroups | ||
3224 | {"setgroups", __NR_setgroups}, | ||
3225 | #endif | ||
3226 | #endif | ||
3227 | #ifdef SYS_sethostname | ||
3228 | #ifdef __NR_sethostname | ||
3229 | {"sethostname", __NR_sethostname}, | ||
3230 | #endif | ||
3231 | #endif | ||
3232 | #ifdef SYS_setitimer | ||
3233 | #ifdef __NR_setitimer | ||
3234 | {"setitimer", __NR_setitimer}, | ||
3235 | #endif | ||
3236 | #endif | ||
3237 | #ifdef SYS_setns | ||
3238 | #ifdef __NR_setns | ||
3239 | {"setns", __NR_setns}, | ||
3240 | #endif | ||
3241 | #endif | ||
3242 | #ifdef SYS_setpgid | ||
3243 | #ifdef __NR_setpgid | ||
3244 | {"setpgid", __NR_setpgid}, | ||
3245 | #endif | ||
3246 | #endif | ||
3247 | #ifdef SYS_setpriority | ||
3248 | #ifdef __NR_setpriority | ||
3249 | {"setpriority", __NR_setpriority}, | ||
3250 | #endif | ||
3251 | #endif | ||
3252 | #ifdef SYS_setregid | ||
3253 | #ifdef __NR_setregid | ||
3254 | {"setregid", __NR_setregid}, | ||
3255 | #endif | ||
3256 | #endif | ||
3257 | #ifdef SYS_setresgid | ||
3258 | #ifdef __NR_setresgid | ||
3259 | {"setresgid", __NR_setresgid}, | ||
3260 | #endif | ||
3261 | #endif | ||
3262 | #ifdef SYS_setresuid | ||
3263 | #ifdef __NR_setresuid | ||
3264 | {"setresuid", __NR_setresuid}, | ||
3265 | #endif | ||
3266 | #endif | ||
3267 | #ifdef SYS_setreuid | ||
3268 | #ifdef __NR_setreuid | ||
3269 | {"setreuid", __NR_setreuid}, | ||
3270 | #endif | ||
3271 | #endif | ||
3272 | #ifdef SYS_setrlimit | ||
3273 | #ifdef __NR_setrlimit | ||
3274 | {"setrlimit", __NR_setrlimit}, | ||
3275 | #endif | ||
3276 | #endif | ||
3277 | #ifdef SYS_setsid | ||
3278 | #ifdef __NR_setsid | ||
3279 | {"setsid", __NR_setsid}, | ||
3280 | #endif | ||
3281 | #endif | ||
3282 | #ifdef SYS_setsockopt | ||
3283 | #ifdef __NR_setsockopt | ||
3284 | {"setsockopt", __NR_setsockopt}, | ||
3285 | #endif | ||
3286 | #endif | ||
3287 | #ifdef SYS_settimeofday | ||
3288 | #ifdef __NR_settimeofday | ||
3289 | {"settimeofday", __NR_settimeofday}, | ||
3290 | #endif | ||
3291 | #endif | ||
3292 | #ifdef SYS_setuid | ||
3293 | #ifdef __NR_setuid | ||
3294 | {"setuid", __NR_setuid}, | ||
3295 | #endif | ||
3296 | #endif | ||
3297 | #ifdef SYS_setxattr | ||
3298 | #ifdef __NR_setxattr | ||
3299 | {"setxattr", __NR_setxattr}, | ||
3300 | #endif | ||
3301 | #endif | ||
3302 | #ifdef SYS_shmat | ||
3303 | #ifdef __NR_shmat | ||
3304 | {"shmat", __NR_shmat}, | ||
3305 | #endif | ||
3306 | #endif | ||
3307 | #ifdef SYS_shmctl | ||
3308 | #ifdef __NR_shmctl | ||
3309 | {"shmctl", __NR_shmctl}, | ||
3310 | #endif | ||
3311 | #endif | ||
3312 | #ifdef SYS_shmdt | ||
3313 | #ifdef __NR_shmdt | ||
3314 | {"shmdt", __NR_shmdt}, | ||
3315 | #endif | ||
3316 | #endif | ||
3317 | #ifdef SYS_shmget | ||
3318 | #ifdef __NR_shmget | ||
3319 | {"shmget", __NR_shmget}, | ||
3320 | #endif | ||
3321 | #endif | ||
3322 | #ifdef SYS_shutdown | ||
3323 | #ifdef __NR_shutdown | ||
3324 | {"shutdown", __NR_shutdown}, | ||
3325 | #endif | ||
3326 | #endif | ||
3327 | #ifdef SYS_sigaltstack | ||
3328 | #ifdef __NR_sigaltstack | ||
3329 | {"sigaltstack", __NR_sigaltstack}, | ||
3330 | #endif | ||
3331 | #endif | ||
3332 | #ifdef SYS_signalfd | ||
3333 | #ifdef __NR_signalfd | ||
3334 | {"signalfd", __NR_signalfd}, | ||
3335 | #endif | ||
3336 | #endif | ||
3337 | #ifdef SYS_signalfd4 | ||
3338 | #ifdef __NR_signalfd4 | ||
3339 | {"signalfd4", __NR_signalfd4}, | ||
3340 | #endif | ||
3341 | #endif | ||
3342 | #ifdef SYS_socket | ||
3343 | #ifdef __NR_socket | ||
3344 | {"socket", __NR_socket}, | ||
3345 | #endif | ||
3346 | #endif | ||
3347 | #ifdef SYS_socketpair | ||
3348 | #ifdef __NR_socketpair | ||
3349 | {"socketpair", __NR_socketpair}, | ||
3350 | #endif | ||
3351 | #endif | ||
3352 | #ifdef SYS_splice | ||
3353 | #ifdef __NR_splice | ||
3354 | {"splice", __NR_splice}, | ||
3355 | #endif | ||
3356 | #endif | ||
3357 | #ifdef SYS_stat | ||
3358 | #ifdef __NR_stat | ||
3359 | {"stat", __NR_stat}, | ||
3360 | #endif | ||
3361 | #endif | ||
3362 | #ifdef SYS_statfs | ||
3363 | #ifdef __NR_statfs | ||
3364 | {"statfs", __NR_statfs}, | ||
3365 | #endif | ||
3366 | #endif | ||
3367 | #ifdef SYS_statx | ||
3368 | #ifdef __NR_statx | ||
3369 | {"statx", __NR_statx}, | ||
3370 | #endif | ||
3371 | #endif | ||
3372 | #ifdef SYS_swapoff | ||
3373 | #ifdef __NR_swapoff | ||
3374 | {"swapoff", __NR_swapoff}, | ||
3375 | #endif | ||
3376 | #endif | ||
3377 | #ifdef SYS_swapon | ||
3378 | #ifdef __NR_swapon | ||
3379 | {"swapon", __NR_swapon}, | ||
3380 | #endif | ||
3381 | #endif | ||
3382 | #ifdef SYS_symlink | ||
3383 | #ifdef __NR_symlink | ||
3384 | {"symlink", __NR_symlink}, | ||
3385 | #endif | ||
3386 | #endif | ||
3387 | #ifdef SYS_symlinkat | ||
3388 | #ifdef __NR_symlinkat | ||
3389 | {"symlinkat", __NR_symlinkat}, | ||
3390 | #endif | ||
3391 | #endif | ||
3392 | #ifdef SYS_sync | ||
3393 | #ifdef __NR_sync | ||
3394 | {"sync", __NR_sync}, | ||
3395 | #endif | ||
3396 | #endif | ||
3397 | #ifdef SYS_sync_file_range | ||
3398 | #ifdef __NR_sync_file_range | ||
3399 | {"sync_file_range", __NR_sync_file_range}, | ||
3400 | #endif | ||
3401 | #endif | ||
3402 | #ifdef SYS_syncfs | ||
3403 | #ifdef __NR_syncfs | ||
3404 | {"syncfs", __NR_syncfs}, | ||
3405 | #endif | ||
3406 | #endif | ||
3407 | #ifdef SYS_sysfs | ||
3408 | #ifdef __NR_sysfs | ||
3409 | {"sysfs", __NR_sysfs}, | ||
3410 | #endif | ||
3411 | #endif | ||
3412 | #ifdef SYS_sysinfo | ||
3413 | #ifdef __NR_sysinfo | ||
3414 | {"sysinfo", __NR_sysinfo}, | ||
3415 | #endif | ||
3416 | #endif | ||
3417 | #ifdef SYS_syslog | ||
3418 | #ifdef __NR_syslog | ||
3419 | {"syslog", __NR_syslog}, | ||
3420 | #endif | ||
3421 | #endif | ||
3422 | #ifdef SYS_tee | ||
3423 | #ifdef __NR_tee | ||
3424 | {"tee", __NR_tee}, | ||
3425 | #endif | ||
3426 | #endif | ||
3427 | #ifdef SYS_tgkill | ||
3428 | #ifdef __NR_tgkill | ||
3429 | {"tgkill", __NR_tgkill}, | ||
3430 | #endif | ||
3431 | #endif | ||
3432 | #ifdef SYS_time | ||
3433 | #ifdef __NR_time | ||
3434 | {"time", __NR_time}, | ||
3435 | #endif | ||
3436 | #endif | ||
3437 | #ifdef SYS_timer_create | ||
3438 | #ifdef __NR_timer_create | ||
3439 | {"timer_create", __NR_timer_create}, | ||
3440 | #endif | ||
3441 | #endif | ||
3442 | #ifdef SYS_timer_delete | ||
3443 | #ifdef __NR_timer_delete | ||
3444 | {"timer_delete", __NR_timer_delete}, | ||
3445 | #endif | ||
3446 | #endif | ||
3447 | #ifdef SYS_timer_getoverrun | ||
3448 | #ifdef __NR_timer_getoverrun | ||
3449 | {"timer_getoverrun", __NR_timer_getoverrun}, | ||
3450 | #endif | ||
3451 | #endif | ||
3452 | #ifdef SYS_timer_gettime | ||
3453 | #ifdef __NR_timer_gettime | ||
3454 | {"timer_gettime", __NR_timer_gettime}, | ||
3455 | #endif | ||
3456 | #endif | ||
3457 | #ifdef SYS_timer_settime | ||
3458 | #ifdef __NR_timer_settime | ||
3459 | {"timer_settime", __NR_timer_settime}, | ||
3460 | #endif | ||
3461 | #endif | ||
3462 | #ifdef SYS_timerfd_create | ||
3463 | #ifdef __NR_timerfd_create | ||
3464 | {"timerfd_create", __NR_timerfd_create}, | ||
3465 | #endif | ||
3466 | #endif | ||
3467 | #ifdef SYS_timerfd_gettime | ||
3468 | #ifdef __NR_timerfd_gettime | ||
3469 | {"timerfd_gettime", __NR_timerfd_gettime}, | ||
3470 | #endif | ||
3471 | #endif | ||
3472 | #ifdef SYS_timerfd_settime | ||
3473 | #ifdef __NR_timerfd_settime | ||
3474 | {"timerfd_settime", __NR_timerfd_settime}, | ||
3475 | #endif | ||
3476 | #endif | ||
3477 | #ifdef SYS_times | ||
3478 | #ifdef __NR_times | ||
3479 | {"times", __NR_times}, | ||
3480 | #endif | ||
3481 | #endif | ||
3482 | #ifdef SYS_tkill | ||
3483 | #ifdef __NR_tkill | ||
3484 | {"tkill", __NR_tkill}, | ||
3485 | #endif | ||
3486 | #endif | ||
3487 | #ifdef SYS_truncate | ||
3488 | #ifdef __NR_truncate | ||
3489 | {"truncate", __NR_truncate}, | ||
3490 | #endif | ||
3491 | #endif | ||
3492 | #ifdef SYS_tuxcall | ||
3493 | #ifdef __NR_tuxcall | ||
3494 | {"tuxcall", __NR_tuxcall}, | ||
3495 | #endif | ||
3496 | #endif | ||
3497 | #ifdef SYS_umask | ||
3498 | #ifdef __NR_umask | ||
3499 | {"umask", __NR_umask}, | ||
3500 | #endif | ||
3501 | #endif | ||
3502 | #ifdef SYS_umount2 | ||
3503 | #ifdef __NR_umount2 | ||
3504 | {"umount2", __NR_umount2}, | ||
3505 | #endif | ||
3506 | #endif | ||
3507 | #ifdef SYS_uname | ||
3508 | #ifdef __NR_uname | ||
3509 | {"uname", __NR_uname}, | ||
3510 | #endif | ||
3511 | #endif | ||
3512 | #ifdef SYS_unlink | ||
3513 | #ifdef __NR_unlink | ||
3514 | {"unlink", __NR_unlink}, | ||
3515 | #endif | ||
3516 | #endif | ||
3517 | #ifdef SYS_unlinkat | ||
3518 | #ifdef __NR_unlinkat | ||
3519 | {"unlinkat", __NR_unlinkat}, | ||
3520 | #endif | ||
3521 | #endif | ||
3522 | #ifdef SYS_unshare | ||
3523 | #ifdef __NR_unshare | ||
3524 | {"unshare", __NR_unshare}, | ||
3525 | #endif | ||
3526 | #endif | ||
3527 | #ifdef SYS_uselib | ||
3528 | #ifdef __NR_uselib | ||
3529 | {"uselib", __NR_uselib}, | ||
3530 | #endif | ||
3531 | #endif | ||
3532 | #ifdef SYS_userfaultfd | ||
3533 | #ifdef __NR_userfaultfd | ||
3534 | {"userfaultfd", __NR_userfaultfd}, | ||
3535 | #endif | ||
3536 | #endif | ||
3537 | #ifdef SYS_ustat | ||
3538 | #ifdef __NR_ustat | ||
3539 | {"ustat", __NR_ustat}, | ||
3540 | #endif | ||
3541 | #endif | ||
3542 | #ifdef SYS_utime | ||
3543 | #ifdef __NR_utime | ||
3544 | {"utime", __NR_utime}, | ||
3545 | #endif | ||
3546 | #endif | ||
3547 | #ifdef SYS_utimensat | ||
3548 | #ifdef __NR_utimensat | ||
3549 | {"utimensat", __NR_utimensat}, | ||
3550 | #endif | ||
3551 | #endif | ||
3552 | #ifdef SYS_utimes | ||
3553 | #ifdef __NR_utimes | ||
3554 | {"utimes", __NR_utimes}, | ||
3555 | #endif | ||
3556 | #endif | ||
3557 | #ifdef SYS_vfork | ||
3558 | #ifdef __NR_vfork | ||
3559 | {"vfork", __NR_vfork}, | ||
3560 | #endif | ||
3561 | #endif | ||
3562 | #ifdef SYS_vhangup | ||
3563 | #ifdef __NR_vhangup | ||
3564 | {"vhangup", __NR_vhangup}, | ||
3565 | #endif | ||
3566 | #endif | ||
3567 | #ifdef SYS_vmsplice | ||
3568 | #ifdef __NR_vmsplice | ||
3569 | {"vmsplice", __NR_vmsplice}, | ||
3570 | #endif | ||
3571 | #endif | ||
3572 | #ifdef SYS_vserver | ||
3573 | #ifdef __NR_vserver | ||
3574 | {"vserver", __NR_vserver}, | ||
3575 | #endif | ||
3576 | #endif | ||
3577 | #ifdef SYS_wait4 | ||
3578 | #ifdef __NR_wait4 | ||
3579 | {"wait4", __NR_wait4}, | ||
3580 | #endif | ||
3581 | #endif | ||
3582 | #ifdef SYS_waitid | ||
3583 | #ifdef __NR_waitid | ||
3584 | {"waitid", __NR_waitid}, | ||
3585 | #endif | ||
3586 | #endif | ||
3587 | #ifdef SYS_write | ||
3588 | #ifdef __NR_write | ||
3589 | {"write", __NR_write}, | ||
3590 | #endif | ||
3591 | #endif | ||
3592 | #ifdef SYS_writev | ||
3593 | #ifdef __NR_writev | ||
3594 | {"writev", __NR_writev}, | ||
3595 | #endif | ||
3596 | #endif | ||
3597 | #endif | ||
3598 | //#endif | ||
3599 | #if defined __x86_64__ && defined __ILP32__ | ||
3600 | #ifdef SYS_accept | ||
3601 | #ifdef __NR_accept | ||
3602 | {"accept", __NR_accept}, | ||
3603 | #endif | ||
3604 | #endif | ||
3605 | #ifdef SYS_accept4 | ||
3606 | #ifdef __NR_accept4 | ||
3607 | {"accept4", __NR_accept4}, | ||
3608 | #endif | ||
3609 | #endif | ||
3610 | #ifdef SYS_access | ||
3611 | #ifdef __NR_access | ||
3612 | {"access", __NR_access}, | ||
3613 | #endif | ||
3614 | #endif | ||
3615 | #ifdef SYS_acct | ||
3616 | #ifdef __NR_acct | ||
3617 | {"acct", __NR_acct}, | ||
3618 | #endif | ||
3619 | #endif | ||
3620 | #ifdef SYS_add_key | ||
3621 | #ifdef __NR_add_key | ||
3622 | {"add_key", __NR_add_key}, | ||
3623 | #endif | ||
3624 | #endif | ||
3625 | #ifdef SYS_adjtimex | ||
3626 | #ifdef __NR_adjtimex | ||
3627 | {"adjtimex", __NR_adjtimex}, | ||
3628 | #endif | ||
3629 | #endif | ||
3630 | #ifdef SYS_afs_syscall | ||
3631 | #ifdef __NR_afs_syscall | ||
3632 | {"afs_syscall", __NR_afs_syscall}, | ||
3633 | #endif | ||
3634 | #endif | ||
3635 | #ifdef SYS_alarm | ||
3636 | #ifdef __NR_alarm | ||
3637 | {"alarm", __NR_alarm}, | ||
3638 | #endif | ||
3639 | #endif | ||
3640 | #ifdef SYS_arch_prctl | ||
3641 | #ifdef __NR_arch_prctl | ||
3642 | {"arch_prctl", __NR_arch_prctl}, | ||
3643 | #endif | ||
3644 | #endif | ||
3645 | #ifdef SYS_bind | ||
3646 | #ifdef __NR_bind | ||
3647 | {"bind", __NR_bind}, | ||
3648 | #endif | ||
3649 | #endif | ||
3650 | #ifdef SYS_bpf | ||
3651 | #ifdef __NR_bpf | ||
3652 | {"bpf", __NR_bpf}, | ||
3653 | #endif | ||
3654 | #endif | ||
3655 | #ifdef SYS_brk | ||
3656 | #ifdef __NR_brk | ||
3657 | {"brk", __NR_brk}, | ||
3658 | #endif | ||
3659 | #endif | ||
3660 | #ifdef SYS_capget | ||
3661 | #ifdef __NR_capget | ||
3662 | {"capget", __NR_capget}, | ||
3663 | #endif | ||
3664 | #endif | ||
3665 | #ifdef SYS_capset | ||
3666 | #ifdef __NR_capset | ||
3667 | {"capset", __NR_capset}, | ||
3668 | #endif | ||
3669 | #endif | ||
3670 | #ifdef SYS_chdir | ||
3671 | #ifdef __NR_chdir | ||
3672 | {"chdir", __NR_chdir}, | ||
3673 | #endif | ||
3674 | #endif | ||
3675 | #ifdef SYS_chmod | ||
3676 | #ifdef __NR_chmod | ||
3677 | {"chmod", __NR_chmod}, | ||
3678 | #endif | ||
3679 | #endif | ||
3680 | #ifdef SYS_chown | ||
3681 | #ifdef __NR_chown | ||
3682 | {"chown", __NR_chown}, | ||
3683 | #endif | ||
3684 | #endif | ||
3685 | #ifdef SYS_chroot | ||
3686 | #ifdef __NR_chroot | ||
3687 | {"chroot", __NR_chroot}, | ||
3688 | #endif | ||
3689 | #endif | ||
3690 | #ifdef SYS_clock_adjtime | ||
3691 | #ifdef __NR_clock_adjtime | ||
3692 | {"clock_adjtime", __NR_clock_adjtime}, | ||
3693 | #endif | ||
3694 | #endif | ||
3695 | #ifdef SYS_clock_getres | ||
3696 | #ifdef __NR_clock_getres | ||
3697 | {"clock_getres", __NR_clock_getres}, | ||
3698 | #endif | ||
3699 | #endif | ||
3700 | #ifdef SYS_clock_gettime | ||
3701 | #ifdef __NR_clock_gettime | ||
3702 | {"clock_gettime", __NR_clock_gettime}, | ||
3703 | #endif | ||
3704 | #endif | ||
3705 | #ifdef SYS_clock_nanosleep | ||
3706 | #ifdef __NR_clock_nanosleep | ||
3707 | {"clock_nanosleep", __NR_clock_nanosleep}, | ||
3708 | #endif | ||
3709 | #endif | ||
3710 | #ifdef SYS_clock_settime | ||
3711 | #ifdef __NR_clock_settime | ||
3712 | {"clock_settime", __NR_clock_settime}, | ||
3713 | #endif | ||
3714 | #endif | ||
3715 | #ifdef SYS_clone | ||
3716 | #ifdef __NR_clone | ||
3717 | {"clone", __NR_clone}, | ||
3718 | #endif | ||
3719 | #endif | ||
3720 | #ifdef SYS_close | ||
3721 | #ifdef __NR_close | ||
3722 | {"close", __NR_close}, | ||
3723 | #endif | ||
3724 | #endif | ||
3725 | #ifdef SYS_connect | ||
3726 | #ifdef __NR_connect | ||
3727 | {"connect", __NR_connect}, | ||
3728 | #endif | ||
3729 | #endif | ||
3730 | #ifdef SYS_copy_file_range | ||
3731 | #ifdef __NR_copy_file_range | ||
3732 | {"copy_file_range", __NR_copy_file_range}, | ||
3733 | #endif | ||
3734 | #endif | ||
3735 | #ifdef SYS_creat | ||
3736 | #ifdef __NR_creat | ||
3737 | {"creat", __NR_creat}, | ||
3738 | #endif | ||
3739 | #endif | ||
3740 | #ifdef SYS_delete_module | ||
3741 | #ifdef __NR_delete_module | ||
3742 | {"delete_module", __NR_delete_module}, | ||
3743 | #endif | ||
3744 | #endif | ||
3745 | #ifdef SYS_dup | ||
3746 | #ifdef __NR_dup | ||
3747 | {"dup", __NR_dup}, | ||
3748 | #endif | ||
3749 | #endif | ||
3750 | #ifdef SYS_dup2 | ||
3751 | #ifdef __NR_dup2 | ||
3752 | {"dup2", __NR_dup2}, | ||
3753 | #endif | ||
3754 | #endif | ||
3755 | #ifdef SYS_dup3 | ||
3756 | #ifdef __NR_dup3 | ||
3757 | {"dup3", __NR_dup3}, | ||
3758 | #endif | ||
3759 | #endif | ||
3760 | #ifdef SYS_epoll_create | ||
3761 | #ifdef __NR_epoll_create | ||
3762 | {"epoll_create", __NR_epoll_create}, | ||
3763 | #endif | ||
3764 | #endif | ||
3765 | #ifdef SYS_epoll_create1 | ||
3766 | #ifdef __NR_epoll_create1 | ||
3767 | {"epoll_create1", __NR_epoll_create1}, | ||
3768 | #endif | ||
3769 | #endif | ||
3770 | #ifdef SYS_epoll_ctl | ||
3771 | #ifdef __NR_epoll_ctl | ||
3772 | {"epoll_ctl", __NR_epoll_ctl}, | ||
3773 | #endif | ||
3774 | #endif | ||
3775 | #ifdef SYS_epoll_pwait | ||
3776 | #ifdef __NR_epoll_pwait | ||
3777 | {"epoll_pwait", __NR_epoll_pwait}, | ||
3778 | #endif | ||
3779 | #endif | ||
3780 | #ifdef SYS_epoll_wait | ||
3781 | #ifdef __NR_epoll_wait | ||
3782 | {"epoll_wait", __NR_epoll_wait}, | ||
3783 | #endif | ||
3784 | #endif | ||
3785 | #ifdef SYS_eventfd | ||
3786 | #ifdef __NR_eventfd | ||
3787 | {"eventfd", __NR_eventfd}, | ||
3788 | #endif | ||
3789 | #endif | ||
3790 | #ifdef SYS_eventfd2 | ||
3791 | #ifdef __NR_eventfd2 | ||
3792 | {"eventfd2", __NR_eventfd2}, | ||
3793 | #endif | ||
3794 | #endif | ||
3795 | #ifdef SYS_execve | ||
3796 | #ifdef __NR_execve | ||
3797 | {"execve", __NR_execve}, | ||
3798 | #endif | ||
3799 | #endif | ||
3800 | #ifdef SYS_execveat | ||
3801 | #ifdef __NR_execveat | ||
3802 | {"execveat", __NR_execveat}, | ||
3803 | #endif | ||
3804 | #endif | ||
3805 | #ifdef SYS_exit | ||
3806 | #ifdef __NR_exit | ||
3807 | {"exit", __NR_exit}, | ||
3808 | #endif | ||
3809 | #endif | ||
3810 | #ifdef SYS_exit_group | ||
3811 | #ifdef __NR_exit_group | ||
3812 | {"exit_group", __NR_exit_group}, | ||
3813 | #endif | ||
3814 | #endif | ||
3815 | #ifdef SYS_faccessat | ||
3816 | #ifdef __NR_faccessat | ||
3817 | {"faccessat", __NR_faccessat}, | ||
3818 | #endif | ||
3819 | #endif | ||
3820 | #ifdef SYS_fadvise64 | ||
3821 | #ifdef __NR_fadvise64 | ||
3822 | {"fadvise64", __NR_fadvise64}, | ||
3823 | #endif | ||
3824 | #endif | ||
3825 | #ifdef SYS_fallocate | ||
3826 | #ifdef __NR_fallocate | ||
3827 | {"fallocate", __NR_fallocate}, | ||
3828 | #endif | ||
3829 | #endif | ||
3830 | #ifdef SYS_fanotify_init | ||
3831 | #ifdef __NR_fanotify_init | ||
3832 | {"fanotify_init", __NR_fanotify_init}, | ||
3833 | #endif | ||
3834 | #endif | ||
3835 | #ifdef SYS_fanotify_mark | ||
3836 | #ifdef __NR_fanotify_mark | ||
3837 | {"fanotify_mark", __NR_fanotify_mark}, | ||
3838 | #endif | ||
3839 | #endif | ||
3840 | #ifdef SYS_fchdir | ||
3841 | #ifdef __NR_fchdir | ||
3842 | {"fchdir", __NR_fchdir}, | ||
3843 | #endif | ||
3844 | #endif | ||
3845 | #ifdef SYS_fchmod | ||
3846 | #ifdef __NR_fchmod | ||
3847 | {"fchmod", __NR_fchmod}, | ||
3848 | #endif | ||
3849 | #endif | ||
3850 | #ifdef SYS_fchmodat | ||
3851 | #ifdef __NR_fchmodat | ||
3852 | {"fchmodat", __NR_fchmodat}, | ||
3853 | #endif | ||
3854 | #endif | ||
3855 | #ifdef SYS_fchown | ||
3856 | #ifdef __NR_fchown | ||
3857 | {"fchown", __NR_fchown}, | ||
3858 | #endif | ||
3859 | #endif | ||
3860 | #ifdef SYS_fchownat | ||
3861 | #ifdef __NR_fchownat | ||
3862 | {"fchownat", __NR_fchownat}, | ||
3863 | #endif | ||
3864 | #endif | ||
3865 | #ifdef SYS_fcntl | ||
3866 | #ifdef __NR_fcntl | ||
3867 | {"fcntl", __NR_fcntl}, | ||
3868 | #endif | ||
3869 | #endif | ||
3870 | #ifdef SYS_fdatasync | ||
3871 | #ifdef __NR_fdatasync | ||
3872 | {"fdatasync", __NR_fdatasync}, | ||
3873 | #endif | ||
3874 | #endif | ||
3875 | #ifdef SYS_fgetxattr | ||
3876 | #ifdef __NR_fgetxattr | ||
3877 | {"fgetxattr", __NR_fgetxattr}, | ||
3878 | #endif | ||
3879 | #endif | ||
3880 | #ifdef SYS_finit_module | ||
3881 | #ifdef __NR_finit_module | ||
3882 | {"finit_module", __NR_finit_module}, | ||
3883 | #endif | ||
3884 | #endif | ||
3885 | #ifdef SYS_flistxattr | ||
3886 | #ifdef __NR_flistxattr | ||
3887 | {"flistxattr", __NR_flistxattr}, | ||
3888 | #endif | ||
3889 | #endif | ||
3890 | #ifdef SYS_flock | ||
3891 | #ifdef __NR_flock | ||
3892 | {"flock", __NR_flock}, | ||
3893 | #endif | ||
3894 | #endif | ||
3895 | #ifdef SYS_fork | ||
3896 | #ifdef __NR_fork | ||
3897 | {"fork", __NR_fork}, | ||
3898 | #endif | ||
3899 | #endif | ||
3900 | #ifdef SYS_fremovexattr | ||
3901 | #ifdef __NR_fremovexattr | ||
3902 | {"fremovexattr", __NR_fremovexattr}, | ||
3903 | #endif | ||
3904 | #endif | ||
3905 | #ifdef SYS_fsetxattr | ||
3906 | #ifdef __NR_fsetxattr | ||
3907 | {"fsetxattr", __NR_fsetxattr}, | ||
3908 | #endif | ||
3909 | #endif | ||
3910 | #ifdef SYS_fstat | ||
3911 | #ifdef __NR_fstat | ||
3912 | {"fstat", __NR_fstat}, | ||
3913 | #endif | ||
3914 | #endif | ||
3915 | #ifdef SYS_fstatfs | ||
3916 | #ifdef __NR_fstatfs | ||
3917 | {"fstatfs", __NR_fstatfs}, | ||
3918 | #endif | ||
3919 | #endif | ||
3920 | #ifdef SYS_fsync | ||
3921 | #ifdef __NR_fsync | ||
3922 | {"fsync", __NR_fsync}, | ||
3923 | #endif | ||
3924 | #endif | ||
3925 | #ifdef SYS_ftruncate | ||
3926 | #ifdef __NR_ftruncate | ||
3927 | {"ftruncate", __NR_ftruncate}, | ||
3928 | #endif | ||
3929 | #endif | ||
3930 | #ifdef SYS_futex | ||
3931 | #ifdef __NR_futex | ||
3932 | {"futex", __NR_futex}, | ||
3933 | #endif | ||
3934 | #endif | ||
3935 | #ifdef SYS_futimesat | ||
3936 | #ifdef __NR_futimesat | ||
3937 | {"futimesat", __NR_futimesat}, | ||
3938 | #endif | ||
3939 | #endif | ||
3940 | #ifdef SYS_get_mempolicy | ||
3941 | #ifdef __NR_get_mempolicy | ||
3942 | {"get_mempolicy", __NR_get_mempolicy}, | ||
3943 | #endif | ||
3944 | #endif | ||
3945 | #ifdef SYS_get_robust_list | ||
3946 | #ifdef __NR_get_robust_list | ||
3947 | {"get_robust_list", __NR_get_robust_list}, | ||
3948 | #endif | ||
3949 | #endif | ||
3950 | #ifdef SYS_getcpu | ||
3951 | #ifdef __NR_getcpu | ||
3952 | {"getcpu", __NR_getcpu}, | ||
3953 | #endif | ||
3954 | #endif | ||
3955 | #ifdef SYS_getcwd | ||
3956 | #ifdef __NR_getcwd | ||
3957 | {"getcwd", __NR_getcwd}, | ||
3958 | #endif | ||
3959 | #endif | ||
3960 | #ifdef SYS_getdents | ||
3961 | #ifdef __NR_getdents | ||
3962 | {"getdents", __NR_getdents}, | ||
3963 | #endif | ||
3964 | #endif | ||
3965 | #ifdef SYS_getdents64 | ||
3966 | #ifdef __NR_getdents64 | ||
3967 | {"getdents64", __NR_getdents64}, | ||
3968 | #endif | ||
3969 | #endif | ||
3970 | #ifdef SYS_getegid | ||
3971 | #ifdef __NR_getegid | ||
3972 | {"getegid", __NR_getegid}, | ||
3973 | #endif | ||
3974 | #endif | ||
3975 | #ifdef SYS_geteuid | ||
3976 | #ifdef __NR_geteuid | ||
3977 | {"geteuid", __NR_geteuid}, | ||
3978 | #endif | ||
3979 | #endif | ||
3980 | #ifdef SYS_getgid | ||
3981 | #ifdef __NR_getgid | ||
3982 | {"getgid", __NR_getgid}, | ||
3983 | #endif | ||
3984 | #endif | ||
3985 | #ifdef SYS_getgroups | ||
3986 | #ifdef __NR_getgroups | ||
3987 | {"getgroups", __NR_getgroups}, | ||
3988 | #endif | ||
3989 | #endif | ||
3990 | #ifdef SYS_getitimer | ||
3991 | #ifdef __NR_getitimer | ||
3992 | {"getitimer", __NR_getitimer}, | ||
3993 | #endif | ||
3994 | #endif | ||
3995 | #ifdef SYS_getpeername | ||
3996 | #ifdef __NR_getpeername | ||
3997 | {"getpeername", __NR_getpeername}, | ||
3998 | #endif | ||
3999 | #endif | ||
4000 | #ifdef SYS_getpgid | ||
4001 | #ifdef __NR_getpgid | ||
4002 | {"getpgid", __NR_getpgid}, | ||
4003 | #endif | ||
4004 | #endif | ||
4005 | #ifdef SYS_getpgrp | ||
4006 | #ifdef __NR_getpgrp | ||
4007 | {"getpgrp", __NR_getpgrp}, | ||
4008 | #endif | ||
4009 | #endif | ||
4010 | #ifdef SYS_getpid | ||
4011 | #ifdef __NR_getpid | ||
4012 | {"getpid", __NR_getpid}, | ||
4013 | #endif | ||
4014 | #endif | ||
4015 | #ifdef SYS_getpmsg | ||
4016 | #ifdef __NR_getpmsg | ||
4017 | {"getpmsg", __NR_getpmsg}, | ||
4018 | #endif | ||
4019 | #endif | ||
4020 | #ifdef SYS_getppid | ||
4021 | #ifdef __NR_getppid | ||
4022 | {"getppid", __NR_getppid}, | ||
4023 | #endif | ||
4024 | #endif | ||
4025 | #ifdef SYS_getpriority | ||
4026 | #ifdef __NR_getpriority | ||
4027 | {"getpriority", __NR_getpriority}, | ||
4028 | #endif | ||
4029 | #endif | ||
4030 | #ifdef SYS_getrandom | ||
4031 | #ifdef __NR_getrandom | ||
4032 | {"getrandom", __NR_getrandom}, | ||
4033 | #endif | ||
4034 | #endif | ||
4035 | #ifdef SYS_getresgid | ||
4036 | #ifdef __NR_getresgid | ||
4037 | {"getresgid", __NR_getresgid}, | ||
4038 | #endif | ||
4039 | #endif | ||
4040 | #ifdef SYS_getresuid | ||
4041 | #ifdef __NR_getresuid | ||
4042 | {"getresuid", __NR_getresuid}, | ||
4043 | #endif | ||
4044 | #endif | ||
4045 | #ifdef SYS_getrlimit | ||
4046 | #ifdef __NR_getrlimit | ||
4047 | {"getrlimit", __NR_getrlimit}, | ||
4048 | #endif | ||
4049 | #endif | ||
4050 | #ifdef SYS_getrusage | ||
4051 | #ifdef __NR_getrusage | ||
4052 | {"getrusage", __NR_getrusage}, | ||
4053 | #endif | ||
4054 | #endif | ||
4055 | #ifdef SYS_getsid | ||
4056 | #ifdef __NR_getsid | ||
4057 | {"getsid", __NR_getsid}, | ||
4058 | #endif | ||
4059 | #endif | ||
4060 | #ifdef SYS_getsockname | ||
4061 | #ifdef __NR_getsockname | ||
4062 | {"getsockname", __NR_getsockname}, | ||
4063 | #endif | ||
4064 | #endif | ||
4065 | #ifdef SYS_getsockopt | ||
4066 | #ifdef __NR_getsockopt | ||
4067 | {"getsockopt", __NR_getsockopt}, | ||
4068 | #endif | ||
4069 | #endif | ||
4070 | #ifdef SYS_gettid | ||
4071 | #ifdef __NR_gettid | ||
4072 | {"gettid", __NR_gettid}, | ||
4073 | #endif | ||
4074 | #endif | ||
4075 | #ifdef SYS_gettimeofday | ||
4076 | #ifdef __NR_gettimeofday | ||
4077 | {"gettimeofday", __NR_gettimeofday}, | ||
4078 | #endif | ||
4079 | #endif | ||
4080 | #ifdef SYS_getuid | ||
4081 | #ifdef __NR_getuid | ||
4082 | {"getuid", __NR_getuid}, | ||
4083 | #endif | ||
4084 | #endif | ||
4085 | #ifdef SYS_getxattr | ||
4086 | #ifdef __NR_getxattr | ||
4087 | {"getxattr", __NR_getxattr}, | ||
4088 | #endif | ||
4089 | #endif | ||
4090 | #ifdef SYS_init_module | ||
4091 | #ifdef __NR_init_module | ||
4092 | {"init_module", __NR_init_module}, | ||
4093 | #endif | ||
4094 | #endif | ||
4095 | #ifdef SYS_inotify_add_watch | ||
4096 | #ifdef __NR_inotify_add_watch | ||
4097 | {"inotify_add_watch", __NR_inotify_add_watch}, | ||
4098 | #endif | ||
4099 | #endif | ||
4100 | #ifdef SYS_inotify_init | ||
4101 | #ifdef __NR_inotify_init | ||
4102 | {"inotify_init", __NR_inotify_init}, | ||
4103 | #endif | ||
4104 | #endif | ||
4105 | #ifdef SYS_inotify_init1 | ||
4106 | #ifdef __NR_inotify_init1 | ||
4107 | {"inotify_init1", __NR_inotify_init1}, | ||
4108 | #endif | ||
4109 | #endif | ||
4110 | #ifdef SYS_inotify_rm_watch | ||
4111 | #ifdef __NR_inotify_rm_watch | ||
4112 | {"inotify_rm_watch", __NR_inotify_rm_watch}, | ||
4113 | #endif | ||
4114 | #endif | ||
4115 | #ifdef SYS_io_cancel | ||
4116 | #ifdef __NR_io_cancel | ||
4117 | {"io_cancel", __NR_io_cancel}, | ||
4118 | #endif | ||
4119 | #endif | ||
4120 | #ifdef SYS_io_destroy | ||
4121 | #ifdef __NR_io_destroy | ||
4122 | {"io_destroy", __NR_io_destroy}, | ||
4123 | #endif | ||
4124 | #endif | ||
4125 | #ifdef SYS_io_getevents | ||
4126 | #ifdef __NR_io_getevents | ||
4127 | {"io_getevents", __NR_io_getevents}, | ||
4128 | #endif | ||
4129 | #endif | ||
4130 | #ifdef SYS_io_setup | ||
4131 | #ifdef __NR_io_setup | ||
4132 | {"io_setup", __NR_io_setup}, | ||
4133 | #endif | ||
4134 | #endif | ||
4135 | #ifdef SYS_io_submit | ||
4136 | #ifdef __NR_io_submit | ||
4137 | {"io_submit", __NR_io_submit}, | ||
4138 | #endif | ||
4139 | #endif | ||
4140 | #ifdef SYS_ioctl | ||
4141 | #ifdef __NR_ioctl | ||
4142 | {"ioctl", __NR_ioctl}, | ||
4143 | #endif | ||
4144 | #endif | ||
4145 | #ifdef SYS_ioperm | ||
4146 | #ifdef __NR_ioperm | ||
4147 | {"ioperm", __NR_ioperm}, | ||
4148 | #endif | ||
4149 | #endif | ||
4150 | #ifdef SYS_iopl | ||
4151 | #ifdef __NR_iopl | ||
4152 | {"iopl", __NR_iopl}, | ||
4153 | #endif | ||
4154 | #endif | ||
4155 | #ifdef SYS_ioprio_get | ||
4156 | #ifdef __NR_ioprio_get | ||
4157 | {"ioprio_get", __NR_ioprio_get}, | ||
4158 | #endif | ||
4159 | #endif | ||
4160 | #ifdef SYS_ioprio_set | ||
4161 | #ifdef __NR_ioprio_set | ||
4162 | {"ioprio_set", __NR_ioprio_set}, | ||
4163 | #endif | ||
4164 | #endif | ||
4165 | #ifdef SYS_kcmp | ||
4166 | #ifdef __NR_kcmp | ||
4167 | {"kcmp", __NR_kcmp}, | ||
4168 | #endif | ||
4169 | #endif | ||
4170 | #ifdef SYS_kexec_file_load | ||
4171 | #ifdef __NR_kexec_file_load | ||
4172 | {"kexec_file_load", __NR_kexec_file_load}, | ||
4173 | #endif | ||
4174 | #endif | ||
4175 | #ifdef SYS_kexec_load | ||
4176 | #ifdef __NR_kexec_load | ||
4177 | {"kexec_load", __NR_kexec_load}, | ||
4178 | #endif | ||
4179 | #endif | ||
4180 | #ifdef SYS_keyctl | ||
4181 | #ifdef __NR_keyctl | ||
4182 | {"keyctl", __NR_keyctl}, | ||
4183 | #endif | ||
4184 | #endif | ||
4185 | #ifdef SYS_kill | ||
4186 | #ifdef __NR_kill | ||
4187 | {"kill", __NR_kill}, | ||
4188 | #endif | ||
4189 | #endif | ||
4190 | #ifdef SYS_lchown | ||
4191 | #ifdef __NR_lchown | ||
4192 | {"lchown", __NR_lchown}, | ||
4193 | #endif | ||
4194 | #endif | ||
4195 | #ifdef SYS_lgetxattr | ||
4196 | #ifdef __NR_lgetxattr | ||
4197 | {"lgetxattr", __NR_lgetxattr}, | ||
4198 | #endif | ||
4199 | #endif | ||
4200 | #ifdef SYS_link | ||
4201 | #ifdef __NR_link | ||
4202 | {"link", __NR_link}, | ||
4203 | #endif | ||
4204 | #endif | ||
4205 | #ifdef SYS_linkat | ||
4206 | #ifdef __NR_linkat | ||
4207 | {"linkat", __NR_linkat}, | ||
4208 | #endif | ||
4209 | #endif | ||
4210 | #ifdef SYS_listen | ||
4211 | #ifdef __NR_listen | ||
4212 | {"listen", __NR_listen}, | ||
4213 | #endif | ||
4214 | #endif | ||
4215 | #ifdef SYS_listxattr | ||
4216 | #ifdef __NR_listxattr | ||
4217 | {"listxattr", __NR_listxattr}, | ||
4218 | #endif | ||
4219 | #endif | ||
4220 | #ifdef SYS_llistxattr | ||
4221 | #ifdef __NR_llistxattr | ||
4222 | {"llistxattr", __NR_llistxattr}, | ||
4223 | #endif | ||
4224 | #endif | ||
4225 | #ifdef SYS_lookup_dcookie | ||
4226 | #ifdef __NR_lookup_dcookie | ||
4227 | {"lookup_dcookie", __NR_lookup_dcookie}, | ||
4228 | #endif | ||
4229 | #endif | ||
4230 | #ifdef SYS_lremovexattr | ||
4231 | #ifdef __NR_lremovexattr | ||
4232 | {"lremovexattr", __NR_lremovexattr}, | ||
4233 | #endif | ||
4234 | #endif | ||
4235 | #ifdef SYS_lseek | ||
4236 | #ifdef __NR_lseek | ||
4237 | {"lseek", __NR_lseek}, | ||
4238 | #endif | ||
4239 | #endif | ||
4240 | #ifdef SYS_lsetxattr | ||
4241 | #ifdef __NR_lsetxattr | ||
4242 | {"lsetxattr", __NR_lsetxattr}, | ||
4243 | #endif | ||
4244 | #endif | ||
4245 | #ifdef SYS_lstat | ||
4246 | #ifdef __NR_lstat | ||
4247 | {"lstat", __NR_lstat}, | ||
4248 | #endif | ||
4249 | #endif | ||
4250 | #ifdef SYS_madvise | ||
4251 | #ifdef __NR_madvise | ||
4252 | {"madvise", __NR_madvise}, | ||
4253 | #endif | ||
4254 | #endif | ||
4255 | #ifdef SYS_mbind | ||
4256 | #ifdef __NR_mbind | ||
4257 | {"mbind", __NR_mbind}, | ||
4258 | #endif | ||
4259 | #endif | ||
4260 | #ifdef SYS_membarrier | ||
4261 | #ifdef __NR_membarrier | ||
4262 | {"membarrier", __NR_membarrier}, | ||
4263 | #endif | ||
4264 | #endif | ||
4265 | #ifdef SYS_memfd_create | ||
4266 | #ifdef __NR_memfd_create | ||
4267 | {"memfd_create", __NR_memfd_create}, | ||
4268 | #endif | ||
4269 | #endif | ||
4270 | #ifdef SYS_migrate_pages | ||
4271 | #ifdef __NR_migrate_pages | ||
4272 | {"migrate_pages", __NR_migrate_pages}, | ||
4273 | #endif | ||
4274 | #endif | ||
4275 | #ifdef SYS_mincore | ||
4276 | #ifdef __NR_mincore | ||
4277 | {"mincore", __NR_mincore}, | ||
4278 | #endif | ||
4279 | #endif | ||
4280 | #ifdef SYS_mkdir | ||
4281 | #ifdef __NR_mkdir | ||
4282 | {"mkdir", __NR_mkdir}, | ||
4283 | #endif | ||
4284 | #endif | ||
4285 | #ifdef SYS_mkdirat | ||
4286 | #ifdef __NR_mkdirat | ||
4287 | {"mkdirat", __NR_mkdirat}, | ||
4288 | #endif | ||
4289 | #endif | ||
4290 | #ifdef SYS_mknod | ||
4291 | #ifdef __NR_mknod | ||
4292 | {"mknod", __NR_mknod}, | ||
4293 | #endif | ||
4294 | #endif | ||
4295 | #ifdef SYS_mknodat | ||
4296 | #ifdef __NR_mknodat | ||
4297 | {"mknodat", __NR_mknodat}, | ||
4298 | #endif | ||
4299 | #endif | ||
4300 | #ifdef SYS_mlock | ||
4301 | #ifdef __NR_mlock | ||
4302 | {"mlock", __NR_mlock}, | ||
4303 | #endif | ||
4304 | #endif | ||
4305 | #ifdef SYS_mlock2 | ||
4306 | #ifdef __NR_mlock2 | ||
4307 | {"mlock2", __NR_mlock2}, | ||
4308 | #endif | ||
4309 | #endif | ||
4310 | #ifdef SYS_mlockall | ||
4311 | #ifdef __NR_mlockall | ||
4312 | {"mlockall", __NR_mlockall}, | ||
4313 | #endif | ||
4314 | #endif | ||
4315 | #ifdef SYS_mmap | ||
4316 | #ifdef __NR_mmap | ||
4317 | {"mmap", __NR_mmap}, | ||
4318 | #endif | ||
4319 | #endif | ||
4320 | #ifdef SYS_modify_ldt | ||
4321 | #ifdef __NR_modify_ldt | ||
4322 | {"modify_ldt", __NR_modify_ldt}, | ||
4323 | #endif | ||
4324 | #endif | ||
4325 | #ifdef SYS_mount | ||
4326 | #ifdef __NR_mount | ||
4327 | {"mount", __NR_mount}, | ||
4328 | #endif | ||
4329 | #endif | ||
4330 | #ifdef SYS_move_pages | ||
4331 | #ifdef __NR_move_pages | ||
4332 | {"move_pages", __NR_move_pages}, | ||
4333 | #endif | ||
4334 | #endif | ||
4335 | #ifdef SYS_mprotect | ||
4336 | #ifdef __NR_mprotect | ||
4337 | {"mprotect", __NR_mprotect}, | ||
4338 | #endif | ||
4339 | #endif | ||
4340 | #ifdef SYS_mq_getsetattr | ||
4341 | #ifdef __NR_mq_getsetattr | ||
4342 | {"mq_getsetattr", __NR_mq_getsetattr}, | ||
4343 | #endif | ||
4344 | #endif | ||
4345 | #ifdef SYS_mq_notify | ||
4346 | #ifdef __NR_mq_notify | ||
4347 | {"mq_notify", __NR_mq_notify}, | ||
4348 | #endif | ||
4349 | #endif | ||
4350 | #ifdef SYS_mq_open | ||
4351 | #ifdef __NR_mq_open | ||
4352 | {"mq_open", __NR_mq_open}, | ||
4353 | #endif | ||
4354 | #endif | ||
4355 | #ifdef SYS_mq_timedreceive | ||
4356 | #ifdef __NR_mq_timedreceive | ||
4357 | {"mq_timedreceive", __NR_mq_timedreceive}, | ||
4358 | #endif | ||
4359 | #endif | ||
4360 | #ifdef SYS_mq_timedsend | ||
4361 | #ifdef __NR_mq_timedsend | ||
4362 | {"mq_timedsend", __NR_mq_timedsend}, | ||
4363 | #endif | ||
4364 | #endif | ||
4365 | #ifdef SYS_mq_unlink | ||
4366 | #ifdef __NR_mq_unlink | ||
4367 | {"mq_unlink", __NR_mq_unlink}, | ||
4368 | #endif | ||
4369 | #endif | ||
4370 | #ifdef SYS_mremap | ||
4371 | #ifdef __NR_mremap | ||
4372 | {"mremap", __NR_mremap}, | ||
4373 | #endif | ||
4374 | #endif | ||
4375 | #ifdef SYS_msgctl | ||
4376 | #ifdef __NR_msgctl | ||
4377 | {"msgctl", __NR_msgctl}, | ||
4378 | #endif | ||
4379 | #endif | ||
4380 | #ifdef SYS_msgget | ||
4381 | #ifdef __NR_msgget | ||
4382 | {"msgget", __NR_msgget}, | ||
4383 | #endif | ||
4384 | #endif | ||
4385 | #ifdef SYS_msgrcv | ||
4386 | #ifdef __NR_msgrcv | ||
4387 | {"msgrcv", __NR_msgrcv}, | ||
4388 | #endif | ||
4389 | #endif | ||
4390 | #ifdef SYS_msgsnd | ||
4391 | #ifdef __NR_msgsnd | ||
4392 | {"msgsnd", __NR_msgsnd}, | ||
4393 | #endif | ||
4394 | #endif | ||
4395 | #ifdef SYS_msync | ||
4396 | #ifdef __NR_msync | ||
4397 | {"msync", __NR_msync}, | ||
4398 | #endif | ||
4399 | #endif | ||
4400 | #ifdef SYS_munlock | ||
4401 | #ifdef __NR_munlock | ||
4402 | {"munlock", __NR_munlock}, | ||
4403 | #endif | ||
4404 | #endif | ||
4405 | #ifdef SYS_munlockall | ||
4406 | #ifdef __NR_munlockall | ||
4407 | {"munlockall", __NR_munlockall}, | ||
4408 | #endif | ||
4409 | #endif | ||
4410 | #ifdef SYS_munmap | ||
4411 | #ifdef __NR_munmap | ||
4412 | {"munmap", __NR_munmap}, | ||
4413 | #endif | ||
4414 | #endif | ||
4415 | #ifdef SYS_name_to_handle_at | ||
4416 | #ifdef __NR_name_to_handle_at | ||
4417 | {"name_to_handle_at", __NR_name_to_handle_at}, | ||
4418 | #endif | ||
4419 | #endif | ||
4420 | #ifdef SYS_nanosleep | ||
4421 | #ifdef __NR_nanosleep | ||
4422 | {"nanosleep", __NR_nanosleep}, | ||
4423 | #endif | ||
4424 | #endif | ||
4425 | #ifdef SYS_newfstatat | ||
4426 | #ifdef __NR_newfstatat | ||
4427 | {"newfstatat", __NR_newfstatat}, | ||
4428 | #endif | ||
4429 | #endif | ||
4430 | #ifdef SYS_open | ||
4431 | #ifdef __NR_open | ||
4432 | {"open", __NR_open}, | ||
4433 | #endif | ||
4434 | #endif | ||
4435 | #ifdef SYS_open_by_handle_at | ||
4436 | #ifdef __NR_open_by_handle_at | ||
4437 | {"open_by_handle_at", __NR_open_by_handle_at}, | ||
4438 | #endif | ||
4439 | #endif | ||
4440 | #ifdef SYS_openat | ||
4441 | #ifdef __NR_openat | ||
4442 | {"openat", __NR_openat}, | ||
4443 | #endif | ||
4444 | #endif | ||
4445 | #ifdef SYS_pause | ||
4446 | #ifdef __NR_pause | ||
4447 | {"pause", __NR_pause}, | ||
4448 | #endif | ||
4449 | #endif | ||
4450 | #ifdef SYS_perf_event_open | ||
4451 | #ifdef __NR_perf_event_open | ||
4452 | {"perf_event_open", __NR_perf_event_open}, | ||
4453 | #endif | ||
4454 | #endif | ||
4455 | #ifdef SYS_personality | ||
4456 | #ifdef __NR_personality | ||
4457 | {"personality", __NR_personality}, | ||
4458 | #endif | ||
4459 | #endif | ||
4460 | #ifdef SYS_pipe | ||
4461 | #ifdef __NR_pipe | ||
4462 | {"pipe", __NR_pipe}, | ||
4463 | #endif | ||
4464 | #endif | ||
4465 | #ifdef SYS_pipe2 | ||
4466 | #ifdef __NR_pipe2 | ||
4467 | {"pipe2", __NR_pipe2}, | ||
4468 | #endif | ||
4469 | #endif | ||
4470 | #ifdef SYS_pivot_root | ||
4471 | #ifdef __NR_pivot_root | ||
4472 | {"pivot_root", __NR_pivot_root}, | ||
4473 | #endif | ||
4474 | #endif | ||
4475 | #ifdef SYS_pkey_alloc | ||
4476 | #ifdef __NR_pkey_alloc | ||
4477 | {"pkey_alloc", __NR_pkey_alloc}, | ||
4478 | #endif | ||
4479 | #endif | ||
4480 | #ifdef SYS_pkey_free | ||
4481 | #ifdef __NR_pkey_free | ||
4482 | {"pkey_free", __NR_pkey_free}, | ||
4483 | #endif | ||
4484 | #endif | ||
4485 | #ifdef SYS_pkey_mprotect | ||
4486 | #ifdef __NR_pkey_mprotect | ||
4487 | {"pkey_mprotect", __NR_pkey_mprotect}, | ||
4488 | #endif | ||
4489 | #endif | ||
4490 | #ifdef SYS_poll | ||
4491 | #ifdef __NR_poll | ||
4492 | {"poll", __NR_poll}, | ||
4493 | #endif | ||
4494 | #endif | ||
4495 | #ifdef SYS_ppoll | ||
4496 | #ifdef __NR_ppoll | ||
4497 | {"ppoll", __NR_ppoll}, | ||
4498 | #endif | ||
4499 | #endif | ||
4500 | #ifdef SYS_prctl | ||
4501 | #ifdef __NR_prctl | ||
4502 | {"prctl", __NR_prctl}, | ||
4503 | #endif | ||
4504 | #endif | ||
4505 | #ifdef SYS_pread64 | ||
4506 | #ifdef __NR_pread64 | ||
4507 | {"pread64", __NR_pread64}, | ||
4508 | #endif | ||
4509 | #endif | ||
4510 | #ifdef SYS_preadv | ||
4511 | #ifdef __NR_preadv | ||
4512 | {"preadv", __NR_preadv}, | ||
4513 | #endif | ||
4514 | #endif | ||
4515 | #ifdef SYS_preadv2 | ||
4516 | #ifdef __NR_preadv2 | ||
4517 | {"preadv2", __NR_preadv2}, | ||
4518 | #endif | ||
4519 | #endif | ||
4520 | #ifdef SYS_prlimit64 | ||
4521 | #ifdef __NR_prlimit64 | ||
4522 | {"prlimit64", __NR_prlimit64}, | ||
4523 | #endif | ||
4524 | #endif | ||
4525 | #ifdef SYS_process_vm_readv | ||
4526 | #ifdef __NR_process_vm_readv | ||
4527 | {"process_vm_readv", __NR_process_vm_readv}, | ||
4528 | #endif | ||
4529 | #endif | ||
4530 | #ifdef SYS_process_vm_writev | ||
4531 | #ifdef __NR_process_vm_writev | ||
4532 | {"process_vm_writev", __NR_process_vm_writev}, | ||
4533 | #endif | ||
4534 | #endif | ||
4535 | #ifdef SYS_pselect6 | ||
4536 | #ifdef __NR_pselect6 | ||
4537 | {"pselect6", __NR_pselect6}, | ||
4538 | #endif | ||
4539 | #endif | ||
4540 | #ifdef SYS_ptrace | ||
4541 | #ifdef __NR_ptrace | ||
4542 | {"ptrace", __NR_ptrace}, | ||
4543 | #endif | ||
4544 | #endif | ||
4545 | #ifdef SYS_putpmsg | ||
4546 | #ifdef __NR_putpmsg | ||
4547 | {"putpmsg", __NR_putpmsg}, | ||
4548 | #endif | ||
4549 | #endif | ||
4550 | #ifdef SYS_pwrite64 | ||
4551 | #ifdef __NR_pwrite64 | ||
4552 | {"pwrite64", __NR_pwrite64}, | ||
4553 | #endif | ||
4554 | #endif | ||
4555 | #ifdef SYS_pwritev | ||
4556 | #ifdef __NR_pwritev | ||
4557 | {"pwritev", __NR_pwritev}, | ||
4558 | #endif | ||
4559 | #endif | ||
4560 | #ifdef SYS_pwritev2 | ||
4561 | #ifdef __NR_pwritev2 | ||
4562 | {"pwritev2", __NR_pwritev2}, | ||
4563 | #endif | ||
4564 | #endif | ||
4565 | #ifdef SYS_quotactl | ||
4566 | #ifdef __NR_quotactl | ||
4567 | {"quotactl", __NR_quotactl}, | ||
4568 | #endif | ||
4569 | #endif | ||
4570 | #ifdef SYS_read | ||
4571 | #ifdef __NR_read | ||
4572 | {"read", __NR_read}, | ||
4573 | #endif | ||
4574 | #endif | ||
4575 | #ifdef SYS_readahead | ||
4576 | #ifdef __NR_readahead | ||
4577 | {"readahead", __NR_readahead}, | ||
4578 | #endif | ||
4579 | #endif | ||
4580 | #ifdef SYS_readlink | ||
4581 | #ifdef __NR_readlink | ||
4582 | {"readlink", __NR_readlink}, | ||
4583 | #endif | ||
4584 | #endif | ||
4585 | #ifdef SYS_readlinkat | ||
4586 | #ifdef __NR_readlinkat | ||
4587 | {"readlinkat", __NR_readlinkat}, | ||
4588 | #endif | ||
4589 | #endif | ||
4590 | #ifdef SYS_readv | ||
4591 | #ifdef __NR_readv | ||
4592 | {"readv", __NR_readv}, | ||
4593 | #endif | ||
4594 | #endif | ||
4595 | #ifdef SYS_reboot | ||
4596 | #ifdef __NR_reboot | ||
4597 | {"reboot", __NR_reboot}, | ||
4598 | #endif | ||
4599 | #endif | ||
4600 | #ifdef SYS_recvfrom | ||
4601 | #ifdef __NR_recvfrom | ||
4602 | {"recvfrom", __NR_recvfrom}, | ||
4603 | #endif | ||
4604 | #endif | ||
4605 | #ifdef SYS_recvmmsg | ||
4606 | #ifdef __NR_recvmmsg | ||
4607 | {"recvmmsg", __NR_recvmmsg}, | ||
4608 | #endif | ||
4609 | #endif | ||
4610 | #ifdef SYS_recvmsg | ||
4611 | #ifdef __NR_recvmsg | ||
4612 | {"recvmsg", __NR_recvmsg}, | ||
4613 | #endif | ||
4614 | #endif | ||
4615 | #ifdef SYS_remap_file_pages | ||
4616 | #ifdef __NR_remap_file_pages | ||
4617 | {"remap_file_pages", __NR_remap_file_pages}, | ||
4618 | #endif | ||
4619 | #endif | ||
4620 | #ifdef SYS_removexattr | ||
4621 | #ifdef __NR_removexattr | ||
4622 | {"removexattr", __NR_removexattr}, | ||
4623 | #endif | ||
4624 | #endif | ||
4625 | #ifdef SYS_rename | ||
4626 | #ifdef __NR_rename | ||
4627 | {"rename", __NR_rename}, | ||
4628 | #endif | ||
4629 | #endif | ||
4630 | #ifdef SYS_renameat | ||
4631 | #ifdef __NR_renameat | ||
4632 | {"renameat", __NR_renameat}, | ||
4633 | #endif | ||
4634 | #endif | ||
4635 | #ifdef SYS_renameat2 | ||
4636 | #ifdef __NR_renameat2 | ||
4637 | {"renameat2", __NR_renameat2}, | ||
4638 | #endif | ||
4639 | #endif | ||
4640 | #ifdef SYS_request_key | ||
4641 | #ifdef __NR_request_key | ||
4642 | {"request_key", __NR_request_key}, | ||
4643 | #endif | ||
4644 | #endif | ||
4645 | #ifdef SYS_restart_syscall | ||
4646 | #ifdef __NR_restart_syscall | ||
4647 | {"restart_syscall", __NR_restart_syscall}, | ||
4648 | #endif | ||
4649 | #endif | ||
4650 | #ifdef SYS_rmdir | ||
4651 | #ifdef __NR_rmdir | ||
4652 | {"rmdir", __NR_rmdir}, | ||
4653 | #endif | ||
4654 | #endif | ||
4655 | #ifdef SYS_rt_sigaction | ||
4656 | #ifdef __NR_rt_sigaction | ||
4657 | {"rt_sigaction", __NR_rt_sigaction}, | ||
4658 | #endif | ||
4659 | #endif | ||
4660 | #ifdef SYS_rt_sigpending | ||
4661 | #ifdef __NR_rt_sigpending | ||
4662 | {"rt_sigpending", __NR_rt_sigpending}, | ||
4663 | #endif | ||
4664 | #endif | ||
4665 | #ifdef SYS_rt_sigprocmask | ||
4666 | #ifdef __NR_rt_sigprocmask | ||
4667 | {"rt_sigprocmask", __NR_rt_sigprocmask}, | ||
4668 | #endif | ||
4669 | #endif | ||
4670 | #ifdef SYS_rt_sigqueueinfo | ||
4671 | #ifdef __NR_rt_sigqueueinfo | ||
4672 | {"rt_sigqueueinfo", __NR_rt_sigqueueinfo}, | ||
4673 | #endif | ||
4674 | #endif | ||
4675 | #ifdef SYS_rt_sigreturn | ||
4676 | #ifdef __NR_rt_sigreturn | ||
4677 | {"rt_sigreturn", __NR_rt_sigreturn}, | ||
4678 | #endif | ||
4679 | #endif | ||
4680 | #ifdef SYS_rt_sigsuspend | ||
4681 | #ifdef __NR_rt_sigsuspend | ||
4682 | {"rt_sigsuspend", __NR_rt_sigsuspend}, | ||
4683 | #endif | ||
4684 | #endif | ||
4685 | #ifdef SYS_rt_sigtimedwait | ||
4686 | #ifdef __NR_rt_sigtimedwait | ||
4687 | {"rt_sigtimedwait", __NR_rt_sigtimedwait}, | ||
4688 | #endif | ||
4689 | #endif | ||
4690 | #ifdef SYS_rt_tgsigqueueinfo | ||
4691 | #ifdef __NR_rt_tgsigqueueinfo | ||
4692 | {"rt_tgsigqueueinfo", __NR_rt_tgsigqueueinfo}, | ||
4693 | #endif | ||
4694 | #endif | ||
4695 | #ifdef SYS_sched_get_priority_max | ||
4696 | #ifdef __NR_sched_get_priority_max | ||
4697 | {"sched_get_priority_max", __NR_sched_get_priority_max}, | ||
4698 | #endif | ||
4699 | #endif | ||
4700 | #ifdef SYS_sched_get_priority_min | ||
4701 | #ifdef __NR_sched_get_priority_min | ||
4702 | {"sched_get_priority_min", __NR_sched_get_priority_min}, | ||
4703 | #endif | ||
4704 | #endif | ||
4705 | #ifdef SYS_sched_getaffinity | ||
4706 | #ifdef __NR_sched_getaffinity | ||
4707 | {"sched_getaffinity", __NR_sched_getaffinity}, | ||
4708 | #endif | ||
4709 | #endif | ||
4710 | #ifdef SYS_sched_getattr | ||
4711 | #ifdef __NR_sched_getattr | ||
4712 | {"sched_getattr", __NR_sched_getattr}, | ||
4713 | #endif | ||
4714 | #endif | ||
4715 | #ifdef SYS_sched_getparam | ||
4716 | #ifdef __NR_sched_getparam | ||
4717 | {"sched_getparam", __NR_sched_getparam}, | ||
4718 | #endif | ||
4719 | #endif | ||
4720 | #ifdef SYS_sched_getscheduler | ||
4721 | #ifdef __NR_sched_getscheduler | ||
4722 | {"sched_getscheduler", __NR_sched_getscheduler}, | ||
4723 | #endif | ||
4724 | #endif | ||
4725 | #ifdef SYS_sched_rr_get_interval | ||
4726 | #ifdef __NR_sched_rr_get_interval | ||
4727 | {"sched_rr_get_interval", __NR_sched_rr_get_interval}, | ||
4728 | #endif | ||
4729 | #endif | ||
4730 | #ifdef SYS_sched_setaffinity | ||
4731 | #ifdef __NR_sched_setaffinity | ||
4732 | {"sched_setaffinity", __NR_sched_setaffinity}, | ||
4733 | #endif | ||
4734 | #endif | ||
4735 | #ifdef SYS_sched_setattr | ||
4736 | #ifdef __NR_sched_setattr | ||
4737 | {"sched_setattr", __NR_sched_setattr}, | ||
4738 | #endif | ||
4739 | #endif | ||
4740 | #ifdef SYS_sched_setparam | ||
4741 | #ifdef __NR_sched_setparam | ||
4742 | {"sched_setparam", __NR_sched_setparam}, | ||
4743 | #endif | ||
4744 | #endif | ||
4745 | #ifdef SYS_sched_setscheduler | ||
4746 | #ifdef __NR_sched_setscheduler | ||
4747 | {"sched_setscheduler", __NR_sched_setscheduler}, | ||
4748 | #endif | ||
4749 | #endif | ||
4750 | #ifdef SYS_sched_yield | ||
4751 | #ifdef __NR_sched_yield | ||
4752 | {"sched_yield", __NR_sched_yield}, | ||
4753 | #endif | ||
4754 | #endif | ||
4755 | #ifdef SYS_seccomp | ||
4756 | #ifdef __NR_seccomp | ||
4757 | {"seccomp", __NR_seccomp}, | ||
4758 | #endif | ||
4759 | #endif | ||
4760 | #ifdef SYS_security | ||
4761 | #ifdef __NR_security | ||
4762 | {"security", __NR_security}, | ||
4763 | #endif | ||
4764 | #endif | ||
4765 | #ifdef SYS_select | ||
4766 | #ifdef __NR_select | ||
4767 | {"select", __NR_select}, | ||
4768 | #endif | ||
4769 | #endif | ||
4770 | #ifdef SYS_semctl | ||
4771 | #ifdef __NR_semctl | ||
4772 | {"semctl", __NR_semctl}, | ||
4773 | #endif | ||
4774 | #endif | ||
4775 | #ifdef SYS_semget | ||
4776 | #ifdef __NR_semget | ||
4777 | {"semget", __NR_semget}, | ||
4778 | #endif | ||
4779 | #endif | ||
4780 | #ifdef SYS_semop | ||
4781 | #ifdef __NR_semop | ||
4782 | {"semop", __NR_semop}, | ||
4783 | #endif | ||
4784 | #endif | ||
4785 | #ifdef SYS_semtimedop | ||
4786 | #ifdef __NR_semtimedop | ||
4787 | {"semtimedop", __NR_semtimedop}, | ||
4788 | #endif | ||
4789 | #endif | ||
4790 | #ifdef SYS_sendfile | ||
4791 | #ifdef __NR_sendfile | ||
4792 | {"sendfile", __NR_sendfile}, | ||
4793 | #endif | ||
4794 | #endif | ||
4795 | #ifdef SYS_sendmmsg | ||
4796 | #ifdef __NR_sendmmsg | ||
4797 | {"sendmmsg", __NR_sendmmsg}, | ||
4798 | #endif | ||
4799 | #endif | ||
4800 | #ifdef SYS_sendmsg | ||
4801 | #ifdef __NR_sendmsg | ||
4802 | {"sendmsg", __NR_sendmsg}, | ||
4803 | #endif | ||
4804 | #endif | ||
4805 | #ifdef SYS_sendto | ||
4806 | #ifdef __NR_sendto | ||
4807 | {"sendto", __NR_sendto}, | ||
4808 | #endif | ||
4809 | #endif | ||
4810 | #ifdef SYS_set_mempolicy | ||
4811 | #ifdef __NR_set_mempolicy | ||
4812 | {"set_mempolicy", __NR_set_mempolicy}, | ||
4813 | #endif | ||
4814 | #endif | ||
4815 | #ifdef SYS_set_robust_list | ||
4816 | #ifdef __NR_set_robust_list | ||
4817 | {"set_robust_list", __NR_set_robust_list}, | ||
4818 | #endif | ||
4819 | #endif | ||
4820 | #ifdef SYS_set_tid_address | ||
4821 | #ifdef __NR_set_tid_address | ||
4822 | {"set_tid_address", __NR_set_tid_address}, | ||
4823 | #endif | ||
4824 | #endif | ||
4825 | #ifdef SYS_setdomainname | ||
4826 | #ifdef __NR_setdomainname | ||
4827 | {"setdomainname", __NR_setdomainname}, | ||
4828 | #endif | ||
4829 | #endif | ||
4830 | #ifdef SYS_setfsgid | ||
4831 | #ifdef __NR_setfsgid | ||
4832 | {"setfsgid", __NR_setfsgid}, | ||
4833 | #endif | ||
4834 | #endif | ||
4835 | #ifdef SYS_setfsuid | ||
4836 | #ifdef __NR_setfsuid | ||
4837 | {"setfsuid", __NR_setfsuid}, | ||
4838 | #endif | ||
4839 | #endif | ||
4840 | #ifdef SYS_setgid | ||
4841 | #ifdef __NR_setgid | ||
4842 | {"setgid", __NR_setgid}, | ||
4843 | #endif | ||
4844 | #endif | ||
4845 | #ifdef SYS_setgroups | ||
4846 | #ifdef __NR_setgroups | ||
4847 | {"setgroups", __NR_setgroups}, | ||
4848 | #endif | ||
4849 | #endif | ||
4850 | #ifdef SYS_sethostname | ||
4851 | #ifdef __NR_sethostname | ||
4852 | {"sethostname", __NR_sethostname}, | ||
4853 | #endif | ||
4854 | #endif | ||
4855 | #ifdef SYS_setitimer | ||
4856 | #ifdef __NR_setitimer | ||
4857 | {"setitimer", __NR_setitimer}, | ||
4858 | #endif | ||
4859 | #endif | ||
4860 | #ifdef SYS_setns | ||
4861 | #ifdef __NR_setns | ||
4862 | {"setns", __NR_setns}, | ||
4863 | #endif | ||
4864 | #endif | ||
4865 | #ifdef SYS_setpgid | ||
4866 | #ifdef __NR_setpgid | ||
4867 | {"setpgid", __NR_setpgid}, | ||
4868 | #endif | ||
4869 | #endif | ||
4870 | #ifdef SYS_setpriority | ||
4871 | #ifdef __NR_setpriority | ||
4872 | {"setpriority", __NR_setpriority}, | ||
4873 | #endif | ||
4874 | #endif | ||
4875 | #ifdef SYS_setregid | ||
4876 | #ifdef __NR_setregid | ||
4877 | {"setregid", __NR_setregid}, | ||
4878 | #endif | ||
4879 | #endif | ||
4880 | #ifdef SYS_setresgid | ||
4881 | #ifdef __NR_setresgid | ||
4882 | {"setresgid", __NR_setresgid}, | ||
4883 | #endif | ||
4884 | #endif | ||
4885 | #ifdef SYS_setresuid | ||
4886 | #ifdef __NR_setresuid | ||
4887 | {"setresuid", __NR_setresuid}, | ||
4888 | #endif | ||
4889 | #endif | ||
4890 | #ifdef SYS_setreuid | ||
4891 | #ifdef __NR_setreuid | ||
4892 | {"setreuid", __NR_setreuid}, | ||
4893 | #endif | ||
4894 | #endif | ||
4895 | #ifdef SYS_setrlimit | ||
4896 | #ifdef __NR_setrlimit | ||
4897 | {"setrlimit", __NR_setrlimit}, | ||
4898 | #endif | ||
4899 | #endif | ||
4900 | #ifdef SYS_setsid | ||
4901 | #ifdef __NR_setsid | ||
4902 | {"setsid", __NR_setsid}, | ||
4903 | #endif | ||
4904 | #endif | ||
4905 | #ifdef SYS_setsockopt | ||
4906 | #ifdef __NR_setsockopt | ||
4907 | {"setsockopt", __NR_setsockopt}, | ||
4908 | #endif | ||
4909 | #endif | ||
4910 | #ifdef SYS_settimeofday | ||
4911 | #ifdef __NR_settimeofday | ||
4912 | {"settimeofday", __NR_settimeofday}, | ||
4913 | #endif | ||
4914 | #endif | ||
4915 | #ifdef SYS_setuid | ||
4916 | #ifdef __NR_setuid | ||
4917 | {"setuid", __NR_setuid}, | ||
4918 | #endif | ||
4919 | #endif | ||
4920 | #ifdef SYS_setxattr | ||
4921 | #ifdef __NR_setxattr | ||
4922 | {"setxattr", __NR_setxattr}, | ||
4923 | #endif | ||
4924 | #endif | ||
4925 | #ifdef SYS_shmat | ||
4926 | #ifdef __NR_shmat | ||
4927 | {"shmat", __NR_shmat}, | ||
4928 | #endif | ||
4929 | #endif | ||
4930 | #ifdef SYS_shmctl | ||
4931 | #ifdef __NR_shmctl | ||
4932 | {"shmctl", __NR_shmctl}, | ||
4933 | #endif | ||
4934 | #endif | ||
4935 | #ifdef SYS_shmdt | ||
4936 | #ifdef __NR_shmdt | ||
4937 | {"shmdt", __NR_shmdt}, | ||
4938 | #endif | ||
4939 | #endif | ||
4940 | #ifdef SYS_shmget | ||
4941 | #ifdef __NR_shmget | ||
4942 | {"shmget", __NR_shmget}, | ||
4943 | #endif | ||
4944 | #endif | ||
4945 | #ifdef SYS_shutdown | ||
4946 | #ifdef __NR_shutdown | ||
4947 | {"shutdown", __NR_shutdown}, | ||
4948 | #endif | ||
4949 | #endif | ||
4950 | #ifdef SYS_sigaltstack | ||
4951 | #ifdef __NR_sigaltstack | ||
4952 | {"sigaltstack", __NR_sigaltstack}, | ||
4953 | #endif | ||
4954 | #endif | ||
4955 | #ifdef SYS_signalfd | ||
4956 | #ifdef __NR_signalfd | ||
4957 | {"signalfd", __NR_signalfd}, | ||
4958 | #endif | ||
4959 | #endif | ||
4960 | #ifdef SYS_signalfd4 | ||
4961 | #ifdef __NR_signalfd4 | ||
4962 | {"signalfd4", __NR_signalfd4}, | ||
4963 | #endif | ||
4964 | #endif | ||
4965 | #ifdef SYS_socket | ||
4966 | #ifdef __NR_socket | ||
4967 | {"socket", __NR_socket}, | ||
4968 | #endif | ||
4969 | #endif | ||
4970 | #ifdef SYS_socketpair | ||
4971 | #ifdef __NR_socketpair | ||
4972 | {"socketpair", __NR_socketpair}, | ||
4973 | #endif | ||
4974 | #endif | ||
4975 | #ifdef SYS_splice | ||
4976 | #ifdef __NR_splice | ||
4977 | {"splice", __NR_splice}, | ||
4978 | #endif | ||
4979 | #endif | ||
4980 | #ifdef SYS_stat | ||
4981 | #ifdef __NR_stat | ||
4982 | {"stat", __NR_stat}, | ||
4983 | #endif | ||
4984 | #endif | ||
4985 | #ifdef SYS_statfs | ||
4986 | #ifdef __NR_statfs | ||
4987 | {"statfs", __NR_statfs}, | ||
4988 | #endif | ||
4989 | #endif | ||
4990 | #ifdef SYS_statx | ||
4991 | #ifdef __NR_statx | ||
4992 | {"statx", __NR_statx}, | ||
4993 | #endif | ||
4994 | #endif | ||
4995 | #ifdef SYS_swapoff | ||
4996 | #ifdef __NR_swapoff | ||
4997 | {"swapoff", __NR_swapoff}, | ||
4998 | #endif | ||
4999 | #endif | ||
5000 | #ifdef SYS_swapon | ||
5001 | #ifdef __NR_swapon | ||
5002 | {"swapon", __NR_swapon}, | ||
5003 | #endif | ||
5004 | #endif | ||
5005 | #ifdef SYS_symlink | ||
5006 | #ifdef __NR_symlink | ||
5007 | {"symlink", __NR_symlink}, | ||
5008 | #endif | ||
5009 | #endif | ||
5010 | #ifdef SYS_symlinkat | ||
5011 | #ifdef __NR_symlinkat | ||
5012 | {"symlinkat", __NR_symlinkat}, | ||
5013 | #endif | ||
5014 | #endif | ||
5015 | #ifdef SYS_sync | ||
5016 | #ifdef __NR_sync | ||
5017 | {"sync", __NR_sync}, | ||
5018 | #endif | ||
5019 | #endif | ||
5020 | #ifdef SYS_sync_file_range | ||
5021 | #ifdef __NR_sync_file_range | ||
5022 | {"sync_file_range", __NR_sync_file_range}, | ||
5023 | #endif | ||
5024 | #endif | ||
5025 | #ifdef SYS_syncfs | ||
5026 | #ifdef __NR_syncfs | ||
5027 | {"syncfs", __NR_syncfs}, | ||
5028 | #endif | ||
5029 | #endif | ||
5030 | #ifdef SYS_sysfs | ||
5031 | #ifdef __NR_sysfs | ||
5032 | {"sysfs", __NR_sysfs}, | ||
5033 | #endif | ||
5034 | #endif | ||
5035 | #ifdef SYS_sysinfo | ||
5036 | #ifdef __NR_sysinfo | ||
5037 | {"sysinfo", __NR_sysinfo}, | ||
5038 | #endif | ||
5039 | #endif | ||
5040 | #ifdef SYS_syslog | ||
5041 | #ifdef __NR_syslog | ||
5042 | {"syslog", __NR_syslog}, | ||
5043 | #endif | ||
5044 | #endif | ||
5045 | #ifdef SYS_tee | ||
5046 | #ifdef __NR_tee | ||
5047 | {"tee", __NR_tee}, | ||
5048 | #endif | ||
5049 | #endif | ||
5050 | #ifdef SYS_tgkill | ||
5051 | #ifdef __NR_tgkill | ||
5052 | {"tgkill", __NR_tgkill}, | ||
5053 | #endif | ||
5054 | #endif | ||
5055 | #ifdef SYS_time | ||
5056 | #ifdef __NR_time | ||
5057 | {"time", __NR_time}, | ||
5058 | #endif | ||
5059 | #endif | ||
5060 | #ifdef SYS_timer_create | ||
5061 | #ifdef __NR_timer_create | ||
5062 | {"timer_create", __NR_timer_create}, | ||
5063 | #endif | ||
5064 | #endif | ||
5065 | #ifdef SYS_timer_delete | ||
5066 | #ifdef __NR_timer_delete | ||
5067 | {"timer_delete", __NR_timer_delete}, | ||
5068 | #endif | ||
5069 | #endif | ||
5070 | #ifdef SYS_timer_getoverrun | ||
5071 | #ifdef __NR_timer_getoverrun | ||
5072 | {"timer_getoverrun", __NR_timer_getoverrun}, | ||
5073 | #endif | ||
5074 | #endif | ||
5075 | #ifdef SYS_timer_gettime | ||
5076 | #ifdef __NR_timer_gettime | ||
5077 | {"timer_gettime", __NR_timer_gettime}, | ||
5078 | #endif | ||
5079 | #endif | ||
5080 | #ifdef SYS_timer_settime | ||
5081 | #ifdef __NR_timer_settime | ||
5082 | {"timer_settime", __NR_timer_settime}, | ||
5083 | #endif | ||
5084 | #endif | ||
5085 | #ifdef SYS_timerfd_create | ||
5086 | #ifdef __NR_timerfd_create | ||
5087 | {"timerfd_create", __NR_timerfd_create}, | ||
5088 | #endif | ||
5089 | #endif | ||
5090 | #ifdef SYS_timerfd_gettime | ||
5091 | #ifdef __NR_timerfd_gettime | ||
5092 | {"timerfd_gettime", __NR_timerfd_gettime}, | ||
5093 | #endif | ||
5094 | #endif | ||
5095 | #ifdef SYS_timerfd_settime | ||
5096 | #ifdef __NR_timerfd_settime | ||
5097 | {"timerfd_settime", __NR_timerfd_settime}, | ||
5098 | #endif | ||
5099 | #endif | ||
5100 | #ifdef SYS_times | ||
5101 | #ifdef __NR_times | ||
5102 | {"times", __NR_times}, | ||
5103 | #endif | ||
5104 | #endif | ||
5105 | #ifdef SYS_tkill | ||
5106 | #ifdef __NR_tkill | ||
5107 | {"tkill", __NR_tkill}, | ||
5108 | #endif | ||
5109 | #endif | ||
5110 | #ifdef SYS_truncate | ||
5111 | #ifdef __NR_truncate | ||
5112 | {"truncate", __NR_truncate}, | ||
5113 | #endif | ||
5114 | #endif | ||
5115 | #ifdef SYS_tuxcall | ||
5116 | #ifdef __NR_tuxcall | ||
5117 | {"tuxcall", __NR_tuxcall}, | ||
5118 | #endif | ||
5119 | #endif | ||
5120 | #ifdef SYS_umask | ||
5121 | #ifdef __NR_umask | ||
5122 | {"umask", __NR_umask}, | ||
5123 | #endif | ||
5124 | #endif | ||
5125 | #ifdef SYS_umount2 | ||
5126 | #ifdef __NR_umount2 | ||
5127 | {"umount2", __NR_umount2}, | ||
5128 | #endif | ||
5129 | #endif | ||
5130 | #ifdef SYS_uname | ||
5131 | #ifdef __NR_uname | ||
5132 | {"uname", __NR_uname}, | ||
5133 | #endif | ||
5134 | #endif | ||
5135 | #ifdef SYS_unlink | ||
5136 | #ifdef __NR_unlink | ||
5137 | {"unlink", __NR_unlink}, | ||
5138 | #endif | ||
5139 | #endif | ||
5140 | #ifdef SYS_unlinkat | ||
5141 | #ifdef __NR_unlinkat | ||
5142 | {"unlinkat", __NR_unlinkat}, | ||
5143 | #endif | ||
5144 | #endif | ||
5145 | #ifdef SYS_unshare | ||
5146 | #ifdef __NR_unshare | ||
5147 | {"unshare", __NR_unshare}, | ||
5148 | #endif | ||
5149 | #endif | ||
5150 | #ifdef SYS_userfaultfd | ||
5151 | #ifdef __NR_userfaultfd | ||
5152 | {"userfaultfd", __NR_userfaultfd}, | ||
5153 | #endif | ||
5154 | #endif | ||
5155 | #ifdef SYS_ustat | ||
5156 | #ifdef __NR_ustat | ||
5157 | {"ustat", __NR_ustat}, | ||
5158 | #endif | ||
5159 | #endif | ||
5160 | #ifdef SYS_utime | ||
5161 | #ifdef __NR_utime | ||
5162 | {"utime", __NR_utime}, | ||
5163 | #endif | ||
5164 | #endif | ||
5165 | #ifdef SYS_utimensat | ||
5166 | #ifdef __NR_utimensat | ||
5167 | {"utimensat", __NR_utimensat}, | ||
5168 | #endif | ||
5169 | #endif | ||
5170 | #ifdef SYS_utimes | ||
5171 | #ifdef __NR_utimes | ||
5172 | {"utimes", __NR_utimes}, | ||
5173 | #endif | ||
5174 | #endif | ||
5175 | #ifdef SYS_vfork | ||
5176 | #ifdef __NR_vfork | ||
5177 | {"vfork", __NR_vfork}, | ||
5178 | #endif | ||
5179 | #endif | ||
5180 | #ifdef SYS_vhangup | ||
5181 | #ifdef __NR_vhangup | ||
5182 | {"vhangup", __NR_vhangup}, | ||
5183 | #endif | ||
5184 | #endif | ||
5185 | #ifdef SYS_vmsplice | ||
5186 | #ifdef __NR_vmsplice | ||
5187 | {"vmsplice", __NR_vmsplice}, | ||
5188 | #endif | ||
5189 | #endif | ||
5190 | #ifdef SYS_wait4 | ||
5191 | #ifdef __NR_wait4 | ||
5192 | {"wait4", __NR_wait4}, | ||
5193 | #endif | ||
5194 | #endif | ||
5195 | #ifdef SYS_waitid | ||
5196 | #ifdef __NR_waitid | ||
5197 | {"waitid", __NR_waitid}, | ||
5198 | #endif | ||
5199 | #endif | ||
5200 | #ifdef SYS_write | ||
5201 | #ifdef __NR_write | ||
5202 | {"write", __NR_write}, | ||
5203 | #endif | ||
5204 | #endif | ||
5205 | #ifdef SYS_writev | ||
5206 | #ifdef __NR_writev | ||
5207 | {"writev", __NR_writev}, | ||
5208 | #endif | ||
5209 | #endif | ||
5210 | #endif | 44 | #endif |
5211 | //#endif | ||
diff --git a/src/include/syscall_i386.h b/src/include/syscall_i386.h new file mode 100644 index 000000000..4795e5b2a --- /dev/null +++ b/src/include/syscall_i386.h | |||
@@ -0,0 +1,425 @@ | |||
1 | { "_llseek", 140 }, | ||
2 | { "_newselect", 142 }, | ||
3 | { "_sysctl", 149 }, | ||
4 | { "accept4", 364 }, | ||
5 | { "access", 33 }, | ||
6 | { "acct", 51 }, | ||
7 | { "add_key", 286 }, | ||
8 | { "adjtimex", 124 }, | ||
9 | { "afs_syscall", 137 }, | ||
10 | { "alarm", 27 }, | ||
11 | { "arch_prctl", 384 }, | ||
12 | { "bdflush", 134 }, | ||
13 | { "bind", 361 }, | ||
14 | { "bpf", 357 }, | ||
15 | { "break", 17 }, | ||
16 | { "brk", 45 }, | ||
17 | { "capget", 184 }, | ||
18 | { "capset", 185 }, | ||
19 | { "chdir", 12 }, | ||
20 | { "chmod", 15 }, | ||
21 | { "chown", 182 }, | ||
22 | { "chown32", 212 }, | ||
23 | { "chroot", 61 }, | ||
24 | { "clock_adjtime", 343 }, | ||
25 | { "clock_adjtime64", 405 }, | ||
26 | { "clock_getres", 266 }, | ||
27 | { "clock_getres_time64", 406 }, | ||
28 | { "clock_gettime", 265 }, | ||
29 | { "clock_gettime64", 403 }, | ||
30 | { "clock_nanosleep", 267 }, | ||
31 | { "clock_nanosleep_time64", 407 }, | ||
32 | { "clock_settime", 264 }, | ||
33 | { "clock_settime64", 404 }, | ||
34 | { "clone", 120 }, | ||
35 | { "clone3", 435 }, | ||
36 | { "close", 6 }, | ||
37 | { "connect", 362 }, | ||
38 | { "copy_file_range", 377 }, | ||
39 | { "creat", 8 }, | ||
40 | { "create_module", 127 }, | ||
41 | { "delete_module", 129 }, | ||
42 | { "dup", 41 }, | ||
43 | { "dup2", 63 }, | ||
44 | { "dup3", 330 }, | ||
45 | { "epoll_create", 254 }, | ||
46 | { "epoll_create1", 329 }, | ||
47 | { "epoll_ctl", 255 }, | ||
48 | { "epoll_pwait", 319 }, | ||
49 | { "epoll_wait", 256 }, | ||
50 | { "eventfd", 323 }, | ||
51 | { "eventfd2", 328 }, | ||
52 | { "execve", 11 }, | ||
53 | { "execveat", 358 }, | ||
54 | { "exit", 1 }, | ||
55 | { "exit_group", 252 }, | ||
56 | { "faccessat", 307 }, | ||
57 | { "fadvise64", 250 }, | ||
58 | { "fadvise64_64", 272 }, | ||
59 | { "fallocate", 324 }, | ||
60 | { "fanotify_init", 338 }, | ||
61 | { "fanotify_mark", 339 }, | ||
62 | { "fchdir", 133 }, | ||
63 | { "fchmod", 94 }, | ||
64 | { "fchmodat", 306 }, | ||
65 | { "fchown", 95 }, | ||
66 | { "fchown32", 207 }, | ||
67 | { "fchownat", 298 }, | ||
68 | { "fcntl", 55 }, | ||
69 | { "fcntl64", 221 }, | ||
70 | { "fdatasync", 148 }, | ||
71 | { "fgetxattr", 231 }, | ||
72 | { "finit_module", 350 }, | ||
73 | { "flistxattr", 234 }, | ||
74 | { "flock", 143 }, | ||
75 | { "fork", 2 }, | ||
76 | { "fremovexattr", 237 }, | ||
77 | { "fsconfig", 431 }, | ||
78 | { "fsetxattr", 228 }, | ||
79 | { "fsmount", 432 }, | ||
80 | { "fsopen", 430 }, | ||
81 | { "fspick", 433 }, | ||
82 | { "fstat", 108 }, | ||
83 | { "fstat64", 197 }, | ||
84 | { "fstatat64", 300 }, | ||
85 | { "fstatfs", 100 }, | ||
86 | { "fstatfs64", 269 }, | ||
87 | { "fsync", 118 }, | ||
88 | { "ftime", 35 }, | ||
89 | { "ftruncate", 93 }, | ||
90 | { "ftruncate64", 194 }, | ||
91 | { "futex", 240 }, | ||
92 | { "futex_time64", 422 }, | ||
93 | { "futimesat", 299 }, | ||
94 | { "get_kernel_syms", 130 }, | ||
95 | { "get_mempolicy", 275 }, | ||
96 | { "get_robust_list", 312 }, | ||
97 | { "get_thread_area", 244 }, | ||
98 | { "getcpu", 318 }, | ||
99 | { "getcwd", 183 }, | ||
100 | { "getdents", 141 }, | ||
101 | { "getdents64", 220 }, | ||
102 | { "getegid", 50 }, | ||
103 | { "getegid32", 202 }, | ||
104 | { "geteuid", 49 }, | ||
105 | { "geteuid32", 201 }, | ||
106 | { "getgid", 47 }, | ||
107 | { "getgid32", 200 }, | ||
108 | { "getgroups", 80 }, | ||
109 | { "getgroups32", 205 }, | ||
110 | { "getitimer", 105 }, | ||
111 | { "getpeername", 368 }, | ||
112 | { "getpgid", 132 }, | ||
113 | { "getpgrp", 65 }, | ||
114 | { "getpid", 20 }, | ||
115 | { "getpmsg", 188 }, | ||
116 | { "getppid", 64 }, | ||
117 | { "getpriority", 96 }, | ||
118 | { "getrandom", 355 }, | ||
119 | { "getresgid", 171 }, | ||
120 | { "getresgid32", 211 }, | ||
121 | { "getresuid", 165 }, | ||
122 | { "getresuid32", 209 }, | ||
123 | { "getrlimit", 76 }, | ||
124 | { "getrusage", 77 }, | ||
125 | { "getsid", 147 }, | ||
126 | { "getsockname", 367 }, | ||
127 | { "getsockopt", 365 }, | ||
128 | { "gettid", 224 }, | ||
129 | { "gettimeofday", 78 }, | ||
130 | { "getuid", 24 }, | ||
131 | { "getuid32", 199 }, | ||
132 | { "getxattr", 229 }, | ||
133 | { "gtty", 32 }, | ||
134 | { "idle", 112 }, | ||
135 | { "init_module", 128 }, | ||
136 | { "inotify_add_watch", 292 }, | ||
137 | { "inotify_init", 291 }, | ||
138 | { "inotify_init1", 332 }, | ||
139 | { "inotify_rm_watch", 293 }, | ||
140 | { "io_cancel", 249 }, | ||
141 | { "io_destroy", 246 }, | ||
142 | { "io_getevents", 247 }, | ||
143 | { "io_pgetevents", 385 }, | ||
144 | { "io_pgetevents_time64", 416 }, | ||
145 | { "io_setup", 245 }, | ||
146 | { "io_submit", 248 }, | ||
147 | { "io_uring_enter", 426 }, | ||
148 | { "io_uring_register", 427 }, | ||
149 | { "io_uring_setup", 425 }, | ||
150 | { "ioctl", 54 }, | ||
151 | { "ioperm", 101 }, | ||
152 | { "iopl", 110 }, | ||
153 | { "ioprio_get", 290 }, | ||
154 | { "ioprio_set", 289 }, | ||
155 | { "ipc", 117 }, | ||
156 | { "kcmp", 349 }, | ||
157 | { "kexec_load", 283 }, | ||
158 | { "keyctl", 288 }, | ||
159 | { "kill", 37 }, | ||
160 | { "lchown", 16 }, | ||
161 | { "lchown32", 198 }, | ||
162 | { "lgetxattr", 230 }, | ||
163 | { "link", 9 }, | ||
164 | { "linkat", 303 }, | ||
165 | { "listen", 363 }, | ||
166 | { "listxattr", 232 }, | ||
167 | { "llistxattr", 233 }, | ||
168 | { "lock", 53 }, | ||
169 | { "lookup_dcookie", 253 }, | ||
170 | { "lremovexattr", 236 }, | ||
171 | { "lseek", 19 }, | ||
172 | { "lsetxattr", 227 }, | ||
173 | { "lstat", 107 }, | ||
174 | { "lstat64", 196 }, | ||
175 | { "madvise", 219 }, | ||
176 | { "mbind", 274 }, | ||
177 | { "membarrier", 375 }, | ||
178 | { "memfd_create", 356 }, | ||
179 | { "migrate_pages", 294 }, | ||
180 | { "mincore", 218 }, | ||
181 | { "mkdir", 39 }, | ||
182 | { "mkdirat", 296 }, | ||
183 | { "mknod", 14 }, | ||
184 | { "mknodat", 297 }, | ||
185 | { "mlock", 150 }, | ||
186 | { "mlock2", 376 }, | ||
187 | { "mlockall", 152 }, | ||
188 | { "mmap", 90 }, | ||
189 | { "mmap2", 192 }, | ||
190 | { "modify_ldt", 123 }, | ||
191 | { "mount", 21 }, | ||
192 | { "move_mount", 429 }, | ||
193 | { "move_pages", 317 }, | ||
194 | { "mprotect", 125 }, | ||
195 | { "mpx", 56 }, | ||
196 | { "mq_getsetattr", 282 }, | ||
197 | { "mq_notify", 281 }, | ||
198 | { "mq_open", 277 }, | ||
199 | { "mq_timedreceive", 280 }, | ||
200 | { "mq_timedreceive_time64", 419 }, | ||
201 | { "mq_timedsend", 279 }, | ||
202 | { "mq_timedsend_time64", 418 }, | ||
203 | { "mq_unlink", 278 }, | ||
204 | { "mremap", 163 }, | ||
205 | { "msgctl", 402 }, | ||
206 | { "msgget", 399 }, | ||
207 | { "msgrcv", 401 }, | ||
208 | { "msgsnd", 400 }, | ||
209 | { "msync", 144 }, | ||
210 | { "munlock", 151 }, | ||
211 | { "munlockall", 153 }, | ||
212 | { "munmap", 91 }, | ||
213 | { "name_to_handle_at", 341 }, | ||
214 | { "nanosleep", 162 }, | ||
215 | { "nfsservctl", 169 }, | ||
216 | { "nice", 34 }, | ||
217 | { "oldfstat", 28 }, | ||
218 | { "oldlstat", 84 }, | ||
219 | { "oldolduname", 59 }, | ||
220 | { "oldstat", 18 }, | ||
221 | { "olduname", 109 }, | ||
222 | { "open", 5 }, | ||
223 | { "open_by_handle_at", 342 }, | ||
224 | { "open_tree", 428 }, | ||
225 | { "openat", 295 }, | ||
226 | { "pause", 29 }, | ||
227 | { "perf_event_open", 336 }, | ||
228 | { "personality", 136 }, | ||
229 | { "pidfd_open", 434 }, | ||
230 | { "pidfd_send_signal", 424 }, | ||
231 | { "pipe", 42 }, | ||
232 | { "pipe2", 331 }, | ||
233 | { "pivot_root", 217 }, | ||
234 | { "pkey_alloc", 381 }, | ||
235 | { "pkey_free", 382 }, | ||
236 | { "pkey_mprotect", 380 }, | ||
237 | { "poll", 168 }, | ||
238 | { "ppoll", 309 }, | ||
239 | { "ppoll_time64", 414 }, | ||
240 | { "prctl", 172 }, | ||
241 | { "pread64", 180 }, | ||
242 | { "preadv", 333 }, | ||
243 | { "preadv2", 378 }, | ||
244 | { "prlimit64", 340 }, | ||
245 | { "process_vm_readv", 347 }, | ||
246 | { "process_vm_writev", 348 }, | ||
247 | { "prof", 44 }, | ||
248 | { "profil", 98 }, | ||
249 | { "pselect6", 308 }, | ||
250 | { "pselect6_time64", 413 }, | ||
251 | { "ptrace", 26 }, | ||
252 | { "putpmsg", 189 }, | ||
253 | { "pwrite64", 181 }, | ||
254 | { "pwritev", 334 }, | ||
255 | { "pwritev2", 379 }, | ||
256 | { "query_module", 167 }, | ||
257 | { "quotactl", 131 }, | ||
258 | { "read", 3 }, | ||
259 | { "readahead", 225 }, | ||
260 | { "readdir", 89 }, | ||
261 | { "readlink", 85 }, | ||
262 | { "readlinkat", 305 }, | ||
263 | { "readv", 145 }, | ||
264 | { "reboot", 88 }, | ||
265 | { "recvfrom", 371 }, | ||
266 | { "recvmmsg", 337 }, | ||
267 | { "recvmmsg_time64", 417 }, | ||
268 | { "recvmsg", 372 }, | ||
269 | { "remap_file_pages", 257 }, | ||
270 | { "removexattr", 235 }, | ||
271 | { "rename", 38 }, | ||
272 | { "renameat", 302 }, | ||
273 | { "renameat2", 353 }, | ||
274 | { "request_key", 287 }, | ||
275 | { "restart_syscall", 0 }, | ||
276 | { "rmdir", 40 }, | ||
277 | { "rseq", 386 }, | ||
278 | { "rt_sigaction", 174 }, | ||
279 | { "rt_sigpending", 176 }, | ||
280 | { "rt_sigprocmask", 175 }, | ||
281 | { "rt_sigqueueinfo", 178 }, | ||
282 | { "rt_sigreturn", 173 }, | ||
283 | { "rt_sigsuspend", 179 }, | ||
284 | { "rt_sigtimedwait", 177 }, | ||
285 | { "rt_sigtimedwait_time64", 421 }, | ||
286 | { "rt_tgsigqueueinfo", 335 }, | ||
287 | { "sched_get_priority_max", 159 }, | ||
288 | { "sched_get_priority_min", 160 }, | ||
289 | { "sched_getaffinity", 242 }, | ||
290 | { "sched_getattr", 352 }, | ||
291 | { "sched_getparam", 155 }, | ||
292 | { "sched_getscheduler", 157 }, | ||
293 | { "sched_rr_get_interval", 161 }, | ||
294 | { "sched_rr_get_interval_time64", 423 }, | ||
295 | { "sched_setaffinity", 241 }, | ||
296 | { "sched_setattr", 351 }, | ||
297 | { "sched_setparam", 154 }, | ||
298 | { "sched_setscheduler", 156 }, | ||
299 | { "sched_yield", 158 }, | ||
300 | { "seccomp", 354 }, | ||
301 | { "select", 82 }, | ||
302 | { "semctl", 394 }, | ||
303 | { "semget", 393 }, | ||
304 | { "semtimedop_time64", 420 }, | ||
305 | { "sendfile", 187 }, | ||
306 | { "sendfile64", 239 }, | ||
307 | { "sendmmsg", 345 }, | ||
308 | { "sendmsg", 370 }, | ||
309 | { "sendto", 369 }, | ||
310 | { "set_mempolicy", 276 }, | ||
311 | { "set_robust_list", 311 }, | ||
312 | { "set_thread_area", 243 }, | ||
313 | { "set_tid_address", 258 }, | ||
314 | { "setdomainname", 121 }, | ||
315 | { "setfsgid", 139 }, | ||
316 | { "setfsgid32", 216 }, | ||
317 | { "setfsuid", 138 }, | ||
318 | { "setfsuid32", 215 }, | ||
319 | { "setgid", 46 }, | ||
320 | { "setgid32", 214 }, | ||
321 | { "setgroups", 81 }, | ||
322 | { "setgroups32", 206 }, | ||
323 | { "sethostname", 74 }, | ||
324 | { "setitimer", 104 }, | ||
325 | { "setns", 346 }, | ||
326 | { "setpgid", 57 }, | ||
327 | { "setpriority", 97 }, | ||
328 | { "setregid", 71 }, | ||
329 | { "setregid32", 204 }, | ||
330 | { "setresgid", 170 }, | ||
331 | { "setresgid32", 210 }, | ||
332 | { "setresuid", 164 }, | ||
333 | { "setresuid32", 208 }, | ||
334 | { "setreuid", 70 }, | ||
335 | { "setreuid32", 203 }, | ||
336 | { "setrlimit", 75 }, | ||
337 | { "setsid", 66 }, | ||
338 | { "setsockopt", 366 }, | ||
339 | { "settimeofday", 79 }, | ||
340 | { "setuid", 23 }, | ||
341 | { "setuid32", 213 }, | ||
342 | { "setxattr", 226 }, | ||
343 | { "sgetmask", 68 }, | ||
344 | { "shmat", 397 }, | ||
345 | { "shmctl", 396 }, | ||
346 | { "shmdt", 398 }, | ||
347 | { "shmget", 395 }, | ||
348 | { "shutdown", 373 }, | ||
349 | { "sigaction", 67 }, | ||
350 | { "sigaltstack", 186 }, | ||
351 | { "signal", 48 }, | ||
352 | { "signalfd", 321 }, | ||
353 | { "signalfd4", 327 }, | ||
354 | { "sigpending", 73 }, | ||
355 | { "sigprocmask", 126 }, | ||
356 | { "sigreturn", 119 }, | ||
357 | { "sigsuspend", 72 }, | ||
358 | { "socket", 359 }, | ||
359 | { "socketcall", 102 }, | ||
360 | { "socketpair", 360 }, | ||
361 | { "splice", 313 }, | ||
362 | { "ssetmask", 69 }, | ||
363 | { "stat", 106 }, | ||
364 | { "stat64", 195 }, | ||
365 | { "statfs", 99 }, | ||
366 | { "statfs64", 268 }, | ||
367 | { "statx", 383 }, | ||
368 | { "stime", 25 }, | ||
369 | { "stty", 31 }, | ||
370 | { "swapoff", 115 }, | ||
371 | { "swapon", 87 }, | ||
372 | { "symlink", 83 }, | ||
373 | { "symlinkat", 304 }, | ||
374 | { "sync", 36 }, | ||
375 | { "sync_file_range", 314 }, | ||
376 | { "syncfs", 344 }, | ||
377 | { "sysfs", 135 }, | ||
378 | { "sysinfo", 116 }, | ||
379 | { "syslog", 103 }, | ||
380 | { "tee", 315 }, | ||
381 | { "tgkill", 270 }, | ||
382 | { "time", 13 }, | ||
383 | { "timer_create", 259 }, | ||
384 | { "timer_delete", 263 }, | ||
385 | { "timer_getoverrun", 262 }, | ||
386 | { "timer_gettime", 261 }, | ||
387 | { "timer_gettime64", 408 }, | ||
388 | { "timer_settime", 260 }, | ||
389 | { "timer_settime64", 409 }, | ||
390 | { "timerfd_create", 322 }, | ||
391 | { "timerfd_gettime", 326 }, | ||
392 | { "timerfd_gettime64", 410 }, | ||
393 | { "timerfd_settime", 325 }, | ||
394 | { "timerfd_settime64", 411 }, | ||
395 | { "times", 43 }, | ||
396 | { "tkill", 238 }, | ||
397 | { "truncate", 92 }, | ||
398 | { "truncate64", 193 }, | ||
399 | { "ugetrlimit", 191 }, | ||
400 | { "ulimit", 58 }, | ||
401 | { "umask", 60 }, | ||
402 | { "umount", 22 }, | ||
403 | { "umount2", 52 }, | ||
404 | { "uname", 122 }, | ||
405 | { "unlink", 10 }, | ||
406 | { "unlinkat", 301 }, | ||
407 | { "unshare", 310 }, | ||
408 | { "uselib", 86 }, | ||
409 | { "userfaultfd", 374 }, | ||
410 | { "ustat", 62 }, | ||
411 | { "utime", 30 }, | ||
412 | { "utimensat", 320 }, | ||
413 | { "utimensat_time64", 412 }, | ||
414 | { "utimes", 271 }, | ||
415 | { "vfork", 190 }, | ||
416 | { "vhangup", 111 }, | ||
417 | { "vm86", 166 }, | ||
418 | { "vm86old", 113 }, | ||
419 | { "vmsplice", 316 }, | ||
420 | { "vserver", 273 }, | ||
421 | { "wait4", 114 }, | ||
422 | { "waitid", 284 }, | ||
423 | { "waitpid", 7 }, | ||
424 | { "write", 4 }, | ||
425 | { "writev", 146 }, | ||
diff --git a/src/include/syscall_x86_64.h b/src/include/syscall_x86_64.h new file mode 100644 index 000000000..539e874be --- /dev/null +++ b/src/include/syscall_x86_64.h | |||
@@ -0,0 +1,347 @@ | |||
1 | { "_sysctl", 156 }, | ||
2 | { "accept", 43 }, | ||
3 | { "accept4", 288 }, | ||
4 | { "access", 21 }, | ||
5 | { "acct", 163 }, | ||
6 | { "add_key", 248 }, | ||
7 | { "adjtimex", 159 }, | ||
8 | { "afs_syscall", 183 }, | ||
9 | { "alarm", 37 }, | ||
10 | { "arch_prctl", 158 }, | ||
11 | { "bind", 49 }, | ||
12 | { "bpf", 321 }, | ||
13 | { "brk", 12 }, | ||
14 | { "capget", 125 }, | ||
15 | { "capset", 126 }, | ||
16 | { "chdir", 80 }, | ||
17 | { "chmod", 90 }, | ||
18 | { "chown", 92 }, | ||
19 | { "chroot", 161 }, | ||
20 | { "clock_adjtime", 305 }, | ||
21 | { "clock_getres", 229 }, | ||
22 | { "clock_gettime", 228 }, | ||
23 | { "clock_nanosleep", 230 }, | ||
24 | { "clock_settime", 227 }, | ||
25 | { "clone", 56 }, | ||
26 | { "clone3", 435 }, | ||
27 | { "close", 3 }, | ||
28 | { "connect", 42 }, | ||
29 | { "copy_file_range", 326 }, | ||
30 | { "creat", 85 }, | ||
31 | { "create_module", 174 }, | ||
32 | { "delete_module", 176 }, | ||
33 | { "dup", 32 }, | ||
34 | { "dup2", 33 }, | ||
35 | { "dup3", 292 }, | ||
36 | { "epoll_create", 213 }, | ||
37 | { "epoll_create1", 291 }, | ||
38 | { "epoll_ctl", 233 }, | ||
39 | { "epoll_ctl_old", 214 }, | ||
40 | { "epoll_pwait", 281 }, | ||
41 | { "epoll_wait", 232 }, | ||
42 | { "epoll_wait_old", 215 }, | ||
43 | { "eventfd", 284 }, | ||
44 | { "eventfd2", 290 }, | ||
45 | { "execve", 59 }, | ||
46 | { "execveat", 322 }, | ||
47 | { "exit", 60 }, | ||
48 | { "exit_group", 231 }, | ||
49 | { "faccessat", 269 }, | ||
50 | { "fadvise64", 221 }, | ||
51 | { "fallocate", 285 }, | ||
52 | { "fanotify_init", 300 }, | ||
53 | { "fanotify_mark", 301 }, | ||
54 | { "fchdir", 81 }, | ||
55 | { "fchmod", 91 }, | ||
56 | { "fchmodat", 268 }, | ||
57 | { "fchown", 93 }, | ||
58 | { "fchownat", 260 }, | ||
59 | { "fcntl", 72 }, | ||
60 | { "fdatasync", 75 }, | ||
61 | { "fgetxattr", 193 }, | ||
62 | { "finit_module", 313 }, | ||
63 | { "flistxattr", 196 }, | ||
64 | { "flock", 73 }, | ||
65 | { "fork", 57 }, | ||
66 | { "fremovexattr", 199 }, | ||
67 | { "fsconfig", 431 }, | ||
68 | { "fsetxattr", 190 }, | ||
69 | { "fsmount", 432 }, | ||
70 | { "fsopen", 430 }, | ||
71 | { "fspick", 433 }, | ||
72 | { "fstat", 5 }, | ||
73 | { "fstatfs", 138 }, | ||
74 | { "fsync", 74 }, | ||
75 | { "ftruncate", 77 }, | ||
76 | { "futex", 202 }, | ||
77 | { "futimesat", 261 }, | ||
78 | { "get_kernel_syms", 177 }, | ||
79 | { "get_mempolicy", 239 }, | ||
80 | { "get_robust_list", 274 }, | ||
81 | { "get_thread_area", 211 }, | ||
82 | { "getcpu", 309 }, | ||
83 | { "getcwd", 79 }, | ||
84 | { "getdents", 78 }, | ||
85 | { "getdents64", 217 }, | ||
86 | { "getegid", 108 }, | ||
87 | { "geteuid", 107 }, | ||
88 | { "getgid", 104 }, | ||
89 | { "getgroups", 115 }, | ||
90 | { "getitimer", 36 }, | ||
91 | { "getpeername", 52 }, | ||
92 | { "getpgid", 121 }, | ||
93 | { "getpgrp", 111 }, | ||
94 | { "getpid", 39 }, | ||
95 | { "getpmsg", 181 }, | ||
96 | { "getppid", 110 }, | ||
97 | { "getpriority", 140 }, | ||
98 | { "getrandom", 318 }, | ||
99 | { "getresgid", 120 }, | ||
100 | { "getresuid", 118 }, | ||
101 | { "getrlimit", 97 }, | ||
102 | { "getrusage", 98 }, | ||
103 | { "getsid", 124 }, | ||
104 | { "getsockname", 51 }, | ||
105 | { "getsockopt", 55 }, | ||
106 | { "gettid", 186 }, | ||
107 | { "gettimeofday", 96 }, | ||
108 | { "getuid", 102 }, | ||
109 | { "getxattr", 191 }, | ||
110 | { "init_module", 175 }, | ||
111 | { "inotify_add_watch", 254 }, | ||
112 | { "inotify_init", 253 }, | ||
113 | { "inotify_init1", 294 }, | ||
114 | { "inotify_rm_watch", 255 }, | ||
115 | { "io_cancel", 210 }, | ||
116 | { "io_destroy", 207 }, | ||
117 | { "io_getevents", 208 }, | ||
118 | { "io_pgetevents", 333 }, | ||
119 | { "io_setup", 206 }, | ||
120 | { "io_submit", 209 }, | ||
121 | { "io_uring_enter", 426 }, | ||
122 | { "io_uring_register", 427 }, | ||
123 | { "io_uring_setup", 425 }, | ||
124 | { "ioctl", 16 }, | ||
125 | { "ioperm", 173 }, | ||
126 | { "iopl", 172 }, | ||
127 | { "ioprio_get", 252 }, | ||
128 | { "ioprio_set", 251 }, | ||
129 | { "kcmp", 312 }, | ||
130 | { "kexec_file_load", 320 }, | ||
131 | { "kexec_load", 246 }, | ||
132 | { "keyctl", 250 }, | ||
133 | { "kill", 62 }, | ||
134 | { "lchown", 94 }, | ||
135 | { "lgetxattr", 192 }, | ||
136 | { "link", 86 }, | ||
137 | { "linkat", 265 }, | ||
138 | { "listen", 50 }, | ||
139 | { "listxattr", 194 }, | ||
140 | { "llistxattr", 195 }, | ||
141 | { "lookup_dcookie", 212 }, | ||
142 | { "lremovexattr", 198 }, | ||
143 | { "lseek", 8 }, | ||
144 | { "lsetxattr", 189 }, | ||
145 | { "lstat", 6 }, | ||
146 | { "madvise", 28 }, | ||
147 | { "mbind", 237 }, | ||
148 | { "membarrier", 324 }, | ||
149 | { "memfd_create", 319 }, | ||
150 | { "migrate_pages", 256 }, | ||
151 | { "mincore", 27 }, | ||
152 | { "mkdir", 83 }, | ||
153 | { "mkdirat", 258 }, | ||
154 | { "mknod", 133 }, | ||
155 | { "mknodat", 259 }, | ||
156 | { "mlock", 149 }, | ||
157 | { "mlock2", 325 }, | ||
158 | { "mlockall", 151 }, | ||
159 | { "mmap", 9 }, | ||
160 | { "modify_ldt", 154 }, | ||
161 | { "mount", 165 }, | ||
162 | { "move_mount", 429 }, | ||
163 | { "move_pages", 279 }, | ||
164 | { "mprotect", 10 }, | ||
165 | { "mq_getsetattr", 245 }, | ||
166 | { "mq_notify", 244 }, | ||
167 | { "mq_open", 240 }, | ||
168 | { "mq_timedreceive", 243 }, | ||
169 | { "mq_timedsend", 242 }, | ||
170 | { "mq_unlink", 241 }, | ||
171 | { "mremap", 25 }, | ||
172 | { "msgctl", 71 }, | ||
173 | { "msgget", 68 }, | ||
174 | { "msgrcv", 70 }, | ||
175 | { "msgsnd", 69 }, | ||
176 | { "msync", 26 }, | ||
177 | { "munlock", 150 }, | ||
178 | { "munlockall", 152 }, | ||
179 | { "munmap", 11 }, | ||
180 | { "name_to_handle_at", 303 }, | ||
181 | { "nanosleep", 35 }, | ||
182 | { "newfstatat", 262 }, | ||
183 | { "nfsservctl", 180 }, | ||
184 | { "open", 2 }, | ||
185 | { "open_by_handle_at", 304 }, | ||
186 | { "open_tree", 428 }, | ||
187 | { "openat", 257 }, | ||
188 | { "pause", 34 }, | ||
189 | { "perf_event_open", 298 }, | ||
190 | { "personality", 135 }, | ||
191 | { "pidfd_open", 434 }, | ||
192 | { "pidfd_send_signal", 424 }, | ||
193 | { "pipe", 22 }, | ||
194 | { "pipe2", 293 }, | ||
195 | { "pivot_root", 155 }, | ||
196 | { "pkey_alloc", 330 }, | ||
197 | { "pkey_free", 331 }, | ||
198 | { "pkey_mprotect", 329 }, | ||
199 | { "poll", 7 }, | ||
200 | { "ppoll", 271 }, | ||
201 | { "prctl", 157 }, | ||
202 | { "pread64", 17 }, | ||
203 | { "preadv", 295 }, | ||
204 | { "preadv2", 327 }, | ||
205 | { "prlimit64", 302 }, | ||
206 | { "process_vm_readv", 310 }, | ||
207 | { "process_vm_writev", 311 }, | ||
208 | { "pselect6", 270 }, | ||
209 | { "ptrace", 101 }, | ||
210 | { "putpmsg", 182 }, | ||
211 | { "pwrite64", 18 }, | ||
212 | { "pwritev", 296 }, | ||
213 | { "pwritev2", 328 }, | ||
214 | { "query_module", 178 }, | ||
215 | { "quotactl", 179 }, | ||
216 | { "read", 0 }, | ||
217 | { "readahead", 187 }, | ||
218 | { "readlink", 89 }, | ||
219 | { "readlinkat", 267 }, | ||
220 | { "readv", 19 }, | ||
221 | { "reboot", 169 }, | ||
222 | { "recvfrom", 45 }, | ||
223 | { "recvmmsg", 299 }, | ||
224 | { "recvmsg", 47 }, | ||
225 | { "remap_file_pages", 216 }, | ||
226 | { "removexattr", 197 }, | ||
227 | { "rename", 82 }, | ||
228 | { "renameat", 264 }, | ||
229 | { "renameat2", 316 }, | ||
230 | { "request_key", 249 }, | ||
231 | { "restart_syscall", 219 }, | ||
232 | { "rmdir", 84 }, | ||
233 | { "rseq", 334 }, | ||
234 | { "rt_sigaction", 13 }, | ||
235 | { "rt_sigpending", 127 }, | ||
236 | { "rt_sigprocmask", 14 }, | ||
237 | { "rt_sigqueueinfo", 129 }, | ||
238 | { "rt_sigreturn", 15 }, | ||
239 | { "rt_sigsuspend", 130 }, | ||
240 | { "rt_sigtimedwait", 128 }, | ||
241 | { "rt_tgsigqueueinfo", 297 }, | ||
242 | { "sched_get_priority_max", 146 }, | ||
243 | { "sched_get_priority_min", 147 }, | ||
244 | { "sched_getaffinity", 204 }, | ||
245 | { "sched_getattr", 315 }, | ||
246 | { "sched_getparam", 143 }, | ||
247 | { "sched_getscheduler", 145 }, | ||
248 | { "sched_rr_get_interval", 148 }, | ||
249 | { "sched_setaffinity", 203 }, | ||
250 | { "sched_setattr", 314 }, | ||
251 | { "sched_setparam", 142 }, | ||
252 | { "sched_setscheduler", 144 }, | ||
253 | { "sched_yield", 24 }, | ||
254 | { "seccomp", 317 }, | ||
255 | { "security", 185 }, | ||
256 | { "select", 23 }, | ||
257 | { "semctl", 66 }, | ||
258 | { "semget", 64 }, | ||
259 | { "semop", 65 }, | ||
260 | { "semtimedop", 220 }, | ||
261 | { "sendfile", 40 }, | ||
262 | { "sendmmsg", 307 }, | ||
263 | { "sendmsg", 46 }, | ||
264 | { "sendto", 44 }, | ||
265 | { "set_mempolicy", 238 }, | ||
266 | { "set_robust_list", 273 }, | ||
267 | { "set_thread_area", 205 }, | ||
268 | { "set_tid_address", 218 }, | ||
269 | { "setdomainname", 171 }, | ||
270 | { "setfsgid", 123 }, | ||
271 | { "setfsuid", 122 }, | ||
272 | { "setgid", 106 }, | ||
273 | { "setgroups", 116 }, | ||
274 | { "sethostname", 170 }, | ||
275 | { "setitimer", 38 }, | ||
276 | { "setns", 308 }, | ||
277 | { "setpgid", 109 }, | ||
278 | { "setpriority", 141 }, | ||
279 | { "setregid", 114 }, | ||
280 | { "setresgid", 119 }, | ||
281 | { "setresuid", 117 }, | ||
282 | { "setreuid", 113 }, | ||
283 | { "setrlimit", 160 }, | ||
284 | { "setsid", 112 }, | ||
285 | { "setsockopt", 54 }, | ||
286 | { "settimeofday", 164 }, | ||
287 | { "setuid", 105 }, | ||
288 | { "setxattr", 188 }, | ||
289 | { "shmat", 30 }, | ||
290 | { "shmctl", 31 }, | ||
291 | { "shmdt", 67 }, | ||
292 | { "shmget", 29 }, | ||
293 | { "shutdown", 48 }, | ||
294 | { "sigaltstack", 131 }, | ||
295 | { "signalfd", 282 }, | ||
296 | { "signalfd4", 289 }, | ||
297 | { "socket", 41 }, | ||
298 | { "socketpair", 53 }, | ||
299 | { "splice", 275 }, | ||
300 | { "stat", 4 }, | ||
301 | { "statfs", 137 }, | ||
302 | { "statx", 332 }, | ||
303 | { "swapoff", 168 }, | ||
304 | { "swapon", 167 }, | ||
305 | { "symlink", 88 }, | ||
306 | { "symlinkat", 266 }, | ||
307 | { "sync", 162 }, | ||
308 | { "sync_file_range", 277 }, | ||
309 | { "syncfs", 306 }, | ||
310 | { "sysfs", 139 }, | ||
311 | { "sysinfo", 99 }, | ||
312 | { "syslog", 103 }, | ||
313 | { "tee", 276 }, | ||
314 | { "tgkill", 234 }, | ||
315 | { "time", 201 }, | ||
316 | { "timer_create", 222 }, | ||
317 | { "timer_delete", 226 }, | ||
318 | { "timer_getoverrun", 225 }, | ||
319 | { "timer_gettime", 224 }, | ||
320 | { "timer_settime", 223 }, | ||
321 | { "timerfd_create", 283 }, | ||
322 | { "timerfd_gettime", 287 }, | ||
323 | { "timerfd_settime", 286 }, | ||
324 | { "times", 100 }, | ||
325 | { "tkill", 200 }, | ||
326 | { "truncate", 76 }, | ||
327 | { "tuxcall", 184 }, | ||
328 | { "umask", 95 }, | ||
329 | { "umount2", 166 }, | ||
330 | { "uname", 63 }, | ||
331 | { "unlink", 87 }, | ||
332 | { "unlinkat", 263 }, | ||
333 | { "unshare", 272 }, | ||
334 | { "uselib", 134 }, | ||
335 | { "userfaultfd", 323 }, | ||
336 | { "ustat", 136 }, | ||
337 | { "utime", 132 }, | ||
338 | { "utimensat", 280 }, | ||
339 | { "utimes", 235 }, | ||
340 | { "vfork", 58 }, | ||
341 | { "vhangup", 153 }, | ||
342 | { "vmsplice", 278 }, | ||
343 | { "vserver", 236 }, | ||
344 | { "wait4", 61 }, | ||
345 | { "waitid", 247 }, | ||
346 | { "write", 1 }, | ||
347 | { "writev", 20 }, | ||
diff --git a/src/fseccomp/errno.c b/src/lib/errno.c index 9c5aa770c..d38c197ad 100644 --- a/src/fseccomp/errno.c +++ b/src/lib/errno.c | |||
@@ -17,9 +17,11 @@ | |||
17 | * with this program; if not, write to the Free Software Foundation, Inc., | 17 | * with this program; if not, write to the Free Software Foundation, Inc., |
18 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | 18 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. |
19 | */ | 19 | */ |
20 | #include "fseccomp.h" | 20 | #include "../include/syscall.h" |
21 | 21 | ||
22 | #include <errno.h> | 22 | #include <errno.h> |
23 | #include <stdio.h> | ||
24 | #include <string.h> | ||
23 | //#include <attr/xattr.h> | 25 | //#include <attr/xattr.h> |
24 | 26 | ||
25 | typedef struct { | 27 | typedef struct { |
diff --git a/src/fseccomp/syscall.c b/src/lib/syscall.c index 2b112245c..1cf7f2d52 100644 --- a/src/fseccomp/syscall.c +++ b/src/lib/syscall.c | |||
@@ -18,9 +18,13 @@ | |||
18 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | 18 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. |
19 | */ | 19 | */ |
20 | #define _GNU_SOURCE | 20 | #define _GNU_SOURCE |
21 | #include "fseccomp.h" | 21 | #include "../include/syscall.h" |
22 | #include <assert.h> | ||
23 | #include <stdbool.h> | ||
22 | #include <stdio.h> | 24 | #include <stdio.h> |
25 | #include <string.h> | ||
23 | #include <sys/syscall.h> | 26 | #include <sys/syscall.h> |
27 | #include "../include/common.h" | ||
24 | 28 | ||
25 | typedef struct { | 29 | typedef struct { |
26 | const char * const name; | 30 | const char * const name; |
@@ -39,15 +43,29 @@ typedef struct { | |||
39 | int syscall; | 43 | int syscall; |
40 | } SyscallCheckList; | 44 | } SyscallCheckList; |
41 | 45 | ||
46 | // Native syscalls (64 bit versions for 64 bit arch etc) | ||
42 | static const SyscallEntry syslist[] = { | 47 | static const SyscallEntry syslist[] = { |
43 | // | 48 | #if defined(__x86_64__) |
44 | // code generated using tools/extract-syscall | 49 | // code generated using |
45 | // | 50 | // awk '/__NR_/ { print "{ \"" gensub("__NR_", "", "g", $2) "\", " $3 " },"; }' < /usr/include/x86_64-linux-gnu/asm/unistd_64.h |
46 | #include "../include/syscall.h" | 51 | #include "../include/syscall_x86_64.h" |
47 | // | 52 | #elif defined(__i386__) |
48 | // end of generated code | 53 | // awk '/__NR_/ { print "{ \"" gensub("__NR_", "", "g", $2) "\", " $3 " },"; }' < /usr/include/x86_64-linux-gnu/asm/unistd_32.h |
49 | // | 54 | #include "../include/syscall_i386.h" |
50 | }; // end of syslist | 55 | #else |
56 | #warning "Please submit a syscall table for your architecture" | ||
57 | #endif | ||
58 | }; | ||
59 | |||
60 | // 32 bit syscalls for 64 bit arch | ||
61 | static const SyscallEntry syslist32[] = { | ||
62 | #if defined(__x86_64__) | ||
63 | #include "../include/syscall_i386.h" | ||
64 | // TODO for other 64 bit archs | ||
65 | #elif defined(__i386__) || defined(__arm__) || defined(__powerpc__) | ||
66 | // no secondary arch for 32 bit archs | ||
67 | #endif | ||
68 | }; | ||
51 | 69 | ||
52 | static const SyscallGroupList sysgroups[] = { | 70 | static const SyscallGroupList sysgroups[] = { |
53 | { .name = "@aio", .list = | 71 | { .name = "@aio", .list = |
@@ -1424,6 +1442,17 @@ static int syscall_find_name(const char *name) { | |||
1424 | return -1; | 1442 | return -1; |
1425 | } | 1443 | } |
1426 | 1444 | ||
1445 | static int syscall_find_name_32(const char *name) { | ||
1446 | int i; | ||
1447 | int elems = sizeof(syslist32) / sizeof(syslist32[0]); | ||
1448 | for (i = 0; i < elems; i++) { | ||
1449 | if (strcmp(name, syslist32[i].name) == 0) | ||
1450 | return syslist32[i].nr; | ||
1451 | } | ||
1452 | |||
1453 | return -1; | ||
1454 | } | ||
1455 | |||
1427 | const char *syscall_find_nr(int nr) { | 1456 | const char *syscall_find_nr(int nr) { |
1428 | int i; | 1457 | int i; |
1429 | int elems = sizeof(syslist) / sizeof(syslist[0]); | 1458 | int elems = sizeof(syslist) / sizeof(syslist[0]); |
@@ -1435,6 +1464,17 @@ const char *syscall_find_nr(int nr) { | |||
1435 | return "unknown"; | 1464 | return "unknown"; |
1436 | } | 1465 | } |
1437 | 1466 | ||
1467 | const char *syscall_find_nr_32(int nr) { | ||
1468 | int i; | ||
1469 | int elems = sizeof(syslist32) / sizeof(syslist32[0]); | ||
1470 | for (i = 0; i < elems; i++) { | ||
1471 | if (nr == syslist32[i].nr) | ||
1472 | return syslist32[i].name; | ||
1473 | } | ||
1474 | |||
1475 | return "unknown"; | ||
1476 | } | ||
1477 | |||
1438 | void syscall_print(void) { | 1478 | void syscall_print(void) { |
1439 | int i; | 1479 | int i; |
1440 | int elems = sizeof(syslist) / sizeof(syslist[0]); | 1480 | int elems = sizeof(syslist) / sizeof(syslist[0]); |
@@ -1444,6 +1484,15 @@ void syscall_print(void) { | |||
1444 | printf("\n"); | 1484 | printf("\n"); |
1445 | } | 1485 | } |
1446 | 1486 | ||
1487 | void syscall_print_32(void) { | ||
1488 | int i; | ||
1489 | int elems = sizeof(syslist32) / sizeof(syslist32[0]); | ||
1490 | for (i = 0; i < elems; i++) { | ||
1491 | printf("%d\t- %s\n", syslist32[i].nr, syslist32[i].name); | ||
1492 | } | ||
1493 | printf("\n"); | ||
1494 | } | ||
1495 | |||
1447 | static const char *syscall_find_group(const char *name) { | 1496 | static const char *syscall_find_group(const char *name) { |
1448 | int i; | 1497 | int i; |
1449 | int elems = sizeof(sysgroups) / sizeof(sysgroups[0]); | 1498 | int elems = sizeof(sysgroups) / sizeof(sysgroups[0]); |
@@ -1458,7 +1507,7 @@ static const char *syscall_find_group(const char *name) { | |||
1458 | // allowed input: | 1507 | // allowed input: |
1459 | // - syscall | 1508 | // - syscall |
1460 | // - syscall(error) | 1509 | // - syscall(error) |
1461 | static void syscall_process_name(const char *name, int *syscall_nr, int *error_nr) { | 1510 | static void syscall_process_name(const char *name, int *syscall_nr, int *error_nr, bool native) { |
1462 | assert(name); | 1511 | assert(name); |
1463 | if (strlen(name) == 0) | 1512 | if (strlen(name) == 0) |
1464 | goto error; | 1513 | goto error; |
@@ -1482,8 +1531,12 @@ static void syscall_process_name(const char *name, int *syscall_nr, int *error_n | |||
1482 | 1531 | ||
1483 | if (*syscall_name == '$') | 1532 | if (*syscall_name == '$') |
1484 | *syscall_nr = strtol(syscall_name + 1, NULL, 0); | 1533 | *syscall_nr = strtol(syscall_name + 1, NULL, 0); |
1485 | else | 1534 | else { |
1486 | *syscall_nr = syscall_find_name(syscall_name); | 1535 | if (native) |
1536 | *syscall_nr = syscall_find_name(syscall_name); | ||
1537 | else | ||
1538 | *syscall_nr = syscall_find_name_32(syscall_name); | ||
1539 | } | ||
1487 | if (error_name) { | 1540 | if (error_name) { |
1488 | *error_nr = errno_find_name(error_name); | 1541 | *error_nr = errno_find_name(error_name); |
1489 | if (*error_nr == -1) | 1542 | if (*error_nr == -1) |
@@ -1499,7 +1552,7 @@ error: | |||
1499 | } | 1552 | } |
1500 | 1553 | ||
1501 | // return 1 if error, 0 if OK | 1554 | // return 1 if error, 0 if OK |
1502 | int syscall_check_list(const char *slist, void (*callback)(int fd, int syscall, int arg, void *ptrarg), int fd, int arg, void *ptrarg) { | 1555 | int syscall_check_list(const char *slist, filter_fn *callback, int fd, int arg, void *ptrarg, bool native) { |
1503 | // don't allow empty lists | 1556 | // don't allow empty lists |
1504 | if (slist == NULL || *slist == '\0') { | 1557 | if (slist == NULL || *slist == '\0') { |
1505 | fprintf(stderr, "Error fseccomp: empty syscall lists are not allowed\n"); | 1558 | fprintf(stderr, "Error fseccomp: empty syscall lists are not allowed\n"); |
@@ -1527,7 +1580,7 @@ int syscall_check_list(const char *slist, void (*callback)(int fd, int syscall, | |||
1527 | fprintf(stderr, "Error fseccomp: unknown syscall group %s\n", ptr); | 1580 | fprintf(stderr, "Error fseccomp: unknown syscall group %s\n", ptr); |
1528 | exit(1); | 1581 | exit(1); |
1529 | } | 1582 | } |
1530 | syscall_check_list(new_list, callback, fd, arg, ptrarg); | 1583 | syscall_check_list(new_list, callback, fd, arg, ptrarg, native); |
1531 | } | 1584 | } |
1532 | else { | 1585 | else { |
1533 | bool negate = false; | 1586 | bool negate = false; |
@@ -1535,20 +1588,20 @@ int syscall_check_list(const char *slist, void (*callback)(int fd, int syscall, | |||
1535 | negate = true; | 1588 | negate = true; |
1536 | ptr++; | 1589 | ptr++; |
1537 | } | 1590 | } |
1538 | syscall_process_name(ptr, &syscall_nr, &error_nr); | 1591 | syscall_process_name(ptr, &syscall_nr, &error_nr, native); |
1539 | if (syscall_nr == -1) {;} | 1592 | if (syscall_nr == -1) {;} |
1540 | else if (callback != NULL) { | 1593 | else if (callback != NULL) { |
1541 | if (negate) { | 1594 | if (negate) { |
1542 | syscall_nr = -syscall_nr; | 1595 | syscall_nr = -syscall_nr; |
1543 | } | 1596 | } |
1544 | if (error_nr != -1 && fd != 0) { | 1597 | if (error_nr != -1 && fd > 0) { |
1545 | filter_add_errno(fd, syscall_nr, error_nr, ptrarg); | 1598 | filter_add_errno(fd, syscall_nr, error_nr, ptrarg, native); |
1546 | } | 1599 | } |
1547 | else if (error_nr != -1 && fd == 0) { | 1600 | else if (error_nr != -1 && fd == 0) { |
1548 | callback(fd, syscall_nr, error_nr, ptrarg); | 1601 | callback(fd, syscall_nr, error_nr, ptrarg, native); |
1549 | } | 1602 | } |
1550 | else { | 1603 | else { |
1551 | callback(fd, syscall_nr, arg, ptrarg); | 1604 | callback(fd, syscall_nr, arg, ptrarg, native); |
1552 | } | 1605 | } |
1553 | } | 1606 | } |
1554 | } | 1607 | } |
@@ -1559,41 +1612,50 @@ int syscall_check_list(const char *slist, void (*callback)(int fd, int syscall, | |||
1559 | return 0; | 1612 | return 0; |
1560 | } | 1613 | } |
1561 | 1614 | ||
1562 | static void find_syscall(int fd, int syscall, int arg, void *ptrarg) { | 1615 | static void find_syscall(int fd, int syscall, int arg, void *ptrarg, bool native) { |
1563 | (void)fd; | 1616 | (void)fd; |
1564 | (void) arg; | 1617 | (void) arg; |
1618 | (void)native; | ||
1565 | SyscallCheckList *ptr = ptrarg; | 1619 | SyscallCheckList *ptr = ptrarg; |
1566 | if (abs(syscall) == ptr->syscall) | 1620 | if (abs(syscall) == ptr->syscall) |
1567 | ptr->found = true; | 1621 | ptr->found = true; |
1568 | } | 1622 | } |
1569 | 1623 | ||
1570 | // go through list2 and find matches for problem syscall | 1624 | // go through list2 and find matches for problem syscall |
1571 | static void syscall_in_list(int fd, int syscall, int arg, void *ptrarg) { | 1625 | static void syscall_in_list(int fd, int syscall, int arg, void *ptrarg, bool native) { |
1572 | (void) fd; | 1626 | (void) fd; |
1573 | (void)arg; | 1627 | (void)arg; |
1574 | SyscallCheckList *ptr = ptrarg; | 1628 | SyscallCheckList *ptr = ptrarg; |
1575 | SyscallCheckList sl; | 1629 | SyscallCheckList sl; |
1630 | const char *name; | ||
1631 | |||
1576 | sl.found = false; | 1632 | sl.found = false; |
1577 | sl.syscall = syscall; | 1633 | sl.syscall = syscall; |
1578 | syscall_check_list(ptr->slist, find_syscall, fd, 0, &sl); | 1634 | syscall_check_list(ptr->slist, find_syscall, fd, 0, &sl, native); |
1635 | |||
1636 | if (native) | ||
1637 | name = syscall_find_nr(syscall); | ||
1638 | else | ||
1639 | name = syscall_find_nr_32(syscall); | ||
1640 | |||
1579 | // if found in the problem list, add to post-exec list | 1641 | // if found in the problem list, add to post-exec list |
1580 | if (sl.found) { | 1642 | if (sl.found) { |
1581 | if (ptr->postlist) { | 1643 | if (ptr->postlist) { |
1582 | if (asprintf(&ptr->postlist, "%s,%s", ptr->postlist, syscall_find_nr(syscall)) == -1) | 1644 | if (asprintf(&ptr->postlist, "%s,%s", ptr->postlist, name) == -1) |
1583 | errExit("asprintf"); | 1645 | errExit("asprintf"); |
1584 | } | 1646 | } |
1585 | else | 1647 | else |
1586 | ptr->postlist = strdup(syscall_find_nr(syscall)); | 1648 | ptr->postlist = strdup(name); |
1587 | } | 1649 | } |
1588 | else { // no problem, add to pre-exec list | 1650 | else { // no problem, add to pre-exec list |
1589 | // build syscall:error_no | 1651 | // build syscall:error_no |
1590 | char *newcall = NULL; | 1652 | char *newcall = NULL; |
1591 | if (arg != 0) { | 1653 | if (arg != 0) { |
1592 | if (asprintf(&newcall, "%s:%s", syscall_find_nr(syscall), errno_find_nr(arg)) == -1) | 1654 | if (asprintf(&newcall, "%s:%s", name, errno_find_nr(arg)) == -1) |
1593 | errExit("asprintf"); | 1655 | errExit("asprintf"); |
1594 | } | 1656 | } |
1595 | else { | 1657 | else { |
1596 | newcall = strdup(syscall_find_nr(syscall)); | 1658 | newcall = strdup(name); |
1597 | if (!newcall) | 1659 | if (!newcall) |
1598 | errExit("strdup"); | 1660 | errExit("strdup"); |
1599 | } | 1661 | } |
@@ -1609,14 +1671,14 @@ static void syscall_in_list(int fd, int syscall, int arg, void *ptrarg) { | |||
1609 | } | 1671 | } |
1610 | 1672 | ||
1611 | // go through list and find matches for syscalls in list @default-keep | 1673 | // go through list and find matches for syscalls in list @default-keep |
1612 | void syscalls_in_list(const char *list, const char *slist, int fd, char **prelist, char **postlist) { | 1674 | void syscalls_in_list(const char *list, const char *slist, int fd, char **prelist, char **postlist, bool native) { |
1613 | (void) fd; | 1675 | (void) fd; |
1614 | SyscallCheckList sl; | 1676 | SyscallCheckList sl; |
1615 | // these syscalls are used by firejail after the seccomp filter is initialized | 1677 | // these syscalls are used by firejail after the seccomp filter is initialized |
1616 | sl.slist = slist; | 1678 | sl.slist = slist; |
1617 | sl.prelist = NULL; | 1679 | sl.prelist = NULL; |
1618 | sl.postlist = NULL; | 1680 | sl.postlist = NULL; |
1619 | syscall_check_list(list, syscall_in_list, 0, 0, &sl); | 1681 | syscall_check_list(list, syscall_in_list, 0, 0, &sl, native); |
1620 | if (!arg_quiet) { | 1682 | if (!arg_quiet) { |
1621 | printf("Seccomp list in: %s,", list); | 1683 | printf("Seccomp list in: %s,", list); |
1622 | if (sl.slist) | 1684 | if (sl.slist) |
diff --git a/src/man/firejail-profile.txt b/src/man/firejail-profile.txt index 9af25bf63..511194ff3 100644 --- a/src/man/firejail-profile.txt +++ b/src/man/firejail-profile.txt | |||
@@ -386,19 +386,31 @@ first argument to socket system call. Recognized values: \fBunix\fR, | |||
386 | \fBseccomp | 386 | \fBseccomp |
387 | Enable seccomp filter and blacklist the syscalls in the default list. See man 1 firejail for more details. | 387 | Enable seccomp filter and blacklist the syscalls in the default list. See man 1 firejail for more details. |
388 | .TP | 388 | .TP |
389 | \fBseccomp.32 | ||
390 | Enable seccomp filter and blacklist the syscalls in the default list for 32 bit system calls on a 64 bit architecture system. | ||
391 | .TP | ||
389 | \fBseccomp syscall,syscall,syscall | 392 | \fBseccomp syscall,syscall,syscall |
390 | Enable seccomp filter and blacklist the system calls in the list on top of default seccomp filter. | 393 | Enable seccomp filter and blacklist the system calls in the list on top of default seccomp filter. |
391 | .TP | 394 | .TP |
395 | \fBseccomp.32 syscall,syscall,syscall | ||
396 | Enable seccomp filter and blacklist the system calls in the list on top of default seccomp filter for 32 bit system calls on a 64 bit architecture system. | ||
397 | .TP | ||
392 | \fBseccomp.block-secondary | 398 | \fBseccomp.block-secondary |
393 | Enable seccomp filter and filter system call architectures | 399 | Enable seccomp filter and filter system call architectures |
394 | so that only the native architecture is allowed. | 400 | so that only the native architecture is allowed. |
395 | .TP | 401 | .TP |
396 | \fBseccomp.drop syscall,syscall,syscall | 402 | \fBseccomp.drop syscall,syscall,syscall |
397 | Enable seccomp filter and blacklist the system calls in the list. | 403 | Enable seccomp filter and blacklist the system calls in the list. |
404 | .TP | ||
405 | \fBseccomp.32.drop syscall,syscall,syscall | ||
406 | Enable seccomp filter and blacklist the system calls in the list for 32 bit system calls on a 64 bit architecture system. | ||
398 | .TP | 407 | .TP |
399 | \fBseccomp.keep syscall,syscall,syscall | 408 | \fBseccomp.keep syscall,syscall,syscall |
400 | Enable seccomp filter and whitelist the system calls in the list. | 409 | Enable seccomp filter and whitelist the system calls in the list. |
401 | .TP | 410 | .TP |
411 | \fBseccomp.32.keep syscall,syscall,syscall | ||
412 | Enable seccomp filter and whitelist the system calls in the list for 32 bit system calls on a 64 bit architecture system. | ||
413 | .TP | ||
402 | \fBx11 | 414 | \fBx11 |
403 | Enable X11 sandboxing. | 415 | Enable X11 sandboxing. |
404 | .TP | 416 | .TP |
diff --git a/src/man/firejail.txt b/src/man/firejail.txt index 926e9b2cc..13dcf09ee 100644 --- a/src/man/firejail.txt +++ b/src/man/firejail.txt | |||
@@ -35,7 +35,7 @@ firejail {\-\-list | \-\-netstats | \-\-top | \-\-tree} | |||
35 | Miscellaneous: | 35 | Miscellaneous: |
36 | .PP | 36 | .PP |
37 | .RS | 37 | .RS |
38 | firejail {\-? | \-\-debug-caps | \-\-debug-errnos | \-\-debug-syscalls | \-\-debug-protocols | \-\-help | \-\-version} | 38 | firejail {\-? | \-\-debug-caps | \-\-debug-errnos | \-\-debug-syscalls | \-\-debug-syscalls32 | \-\-debug-protocols | \-\-help | \-\-version} |
39 | .RE | 39 | .RE |
40 | .SH DESCRIPTION | 40 | .SH DESCRIPTION |
41 | Firejail is a SUID sandbox program that reduces the risk of security breaches by | 41 | Firejail is a SUID sandbox program that reduces the risk of security breaches by |
@@ -386,6 +386,10 @@ Example: | |||
386 | .br | 386 | .br |
387 | $ firejail \-\-debug-syscalls | 387 | $ firejail \-\-debug-syscalls |
388 | .TP | 388 | .TP |
389 | \fB\-\-debug-syscalls32 | ||
390 | Print all recognized 32 bit system calls in the current Firejail software build and exit. | ||
391 | .br | ||
392 | .TP | ||
389 | \fB\-\-debug-whitelists\fR | 393 | \fB\-\-debug-whitelists\fR |
390 | Debug whitelisting. | 394 | Debug whitelisting. |
391 | .br | 395 | .br |
@@ -1832,7 +1836,9 @@ Exceptions can be allowed with prefix !. | |||
1832 | System architecture is strictly imposed only if flag | 1836 | System architecture is strictly imposed only if flag |
1833 | \-\-seccomp.block-secondary is used. The filter is applied at run time | 1837 | \-\-seccomp.block-secondary is used. The filter is applied at run time |
1834 | only if the correct architecture was detected. For the case of I386 | 1838 | only if the correct architecture was detected. For the case of I386 |
1835 | and AMD64 both 32-bit and 64-bit filters are installed. | 1839 | and AMD64 both 32-bit and 64-bit filters are installed. On a 64 bit |
1840 | architecture, an additional filter for 32 bit system calls can be | ||
1841 | installed with \-\-seccomp.32. | ||
1836 | .br | 1842 | .br |
1837 | 1843 | ||
1838 | .br | 1844 | .br |
@@ -1881,7 +1887,8 @@ rm: cannot remove `testfile': Operation not permitted | |||
1881 | .br | 1887 | .br |
1882 | If the blocked system calls would also block Firejail from operating, | 1888 | If the blocked system calls would also block Firejail from operating, |
1883 | they are handled by adding a preloaded library which performs seccomp | 1889 | they are handled by adding a preloaded library which performs seccomp |
1884 | system calls later. | 1890 | system calls later. However, this is incompatible with 32 bit seccomp |
1891 | filters. | ||
1885 | .br | 1892 | .br |
1886 | 1893 | ||
1887 | .br | 1894 | .br |
@@ -1912,7 +1919,10 @@ domain with personality(2) system call. | |||
1912 | 1919 | ||
1913 | .TP | 1920 | .TP |
1914 | \fB\-\-seccomp.drop=syscall,@group | 1921 | \fB\-\-seccomp.drop=syscall,@group |
1915 | Enable seccomp filter, and blacklist the syscalls or the syscall groups specified by the command. | 1922 | Enable seccomp filter, and blacklist the syscalls or the syscall |
1923 | groups specified by the command. On a 64 bit architecture, an | ||
1924 | additional filter for 32 bit system calls can be installed with | ||
1925 | \-\-seccomp.32.drop. | ||
1916 | .br | 1926 | .br |
1917 | 1927 | ||
1918 | .br | 1928 | .br |
@@ -1950,7 +1960,9 @@ rm: cannot remove `testfile': Operation not permitted | |||
1950 | \fB\-\-seccomp.keep=syscall,@group,!syscall2 | 1960 | \fB\-\-seccomp.keep=syscall,@group,!syscall2 |
1951 | Enable seccomp filter, blacklist all syscall not listed and "syscall2". | 1961 | Enable seccomp filter, blacklist all syscall not listed and "syscall2". |
1952 | The system calls needed by Firejail (group @default-keep: prctl, execve) | 1962 | The system calls needed by Firejail (group @default-keep: prctl, execve) |
1953 | are handled with the preload library. | 1963 | are handled with the preload library. On a 64 bit architecture, an |
1964 | additional filter for 32 bit system calls can be installed with | ||
1965 | \-\-seccomp.32.keep. | ||
1954 | .br | 1966 | .br |
1955 | 1967 | ||
1956 | .br | 1968 | .br |