From cc2e4f6bd6429078faf501dc6b4266cccc422102 Mon Sep 17 00:00:00 2001 From: Xiaotian Wu Date: Sat, 6 Nov 2021 14:13:49 +0800 Subject: [PATCH 01/10] syscalls: update to include LoongArch syscall numbers [xen0n: regenerated with Linux v6.7-rc3 sources with libseccomp v2.5.x format, also swapped __PNR_fstat and __PNR_map_shadow_stack for keeping the former number consistent with the main branch] Signed-off-by: Xiaotian Wu Signed-off-by: WANG Xuerui Acked-by: Tom Hromatka Signed-off-by: Paul Moore (cherry-picked from commit b9633de506eec837a9f91d4e98dedf5101fd5227) --- include/seccomp-syscalls.h | 3 +- src/syscalls.csv | 976 ++++++++++++++++++------------------- 2 files changed, 490 insertions(+), 489 deletions(-) diff --git a/include/seccomp-syscalls.h b/include/seccomp-syscalls.h index 611c78db..440973d6 100644 --- a/include/seccomp-syscalls.h +++ b/include/seccomp-syscalls.h @@ -276,7 +276,8 @@ #define __PNR_renameat -10242 #define __PNR_riscv_flush_icache -10243 #define __PNR_memfd_secret -10244 -#define __PNR_map_shadow_stack -10245 +#define __PNR_fstat -10245 +#define __PNR_map_shadow_stack -10246 /* * libseccomp syscall definitions diff --git a/src/syscalls.csv b/src/syscalls.csv index b0da8e6e..f998ba9c 100644 --- a/src/syscalls.csv +++ b/src/syscalls.csv @@ -1,488 +1,488 @@ -#syscall (v6.7.0-rc3 2023-11-30),x86,x86_64,x32,arm,aarch64,mips,mips64,mips64n32,parisc,parisc64,ppc,ppc64,riscv64,s390,s390x -accept,PNR,43,43,285,202,168,42,42,35,35,330,330,202,PNR,PNR -accept4,364,288,288,366,242,334,293,297,320,320,344,344,242,364,364 -access,33,21,21,33,PNR,33,20,20,33,33,33,33,PNR,33,33 -acct,51,163,163,51,89,51,158,158,51,51,51,51,89,51,51 -add_key,286,248,248,309,217,280,239,243,264,264,269,269,217,278,278 -adjtimex,124,159,159,124,171,124,154,154,124,124,124,124,171,124,124 -afs_syscall,137,183,183,PNR,PNR,137,176,176,PNR,PNR,137,137,PNR,137,137 -alarm,27,37,37,PNR,PNR,27,37,37,27,27,27,27,PNR,27,27 -arch_prctl,384,158,158,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR -arm_fadvise64_64,PNR,PNR,PNR,270,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR -arm_sync_file_range,PNR,PNR,PNR,341,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR -bdflush,134,PNR,PNR,134,PNR,134,PNR,PNR,134,134,134,134,PNR,134,134 -bind,361,49,49,282,200,169,48,48,22,22,327,327,200,361,361 -bpf,357,321,321,386,280,355,315,319,341,341,361,361,280,351,351 -break,17,PNR,PNR,PNR,PNR,17,PNR,PNR,PNR,PNR,17,17,PNR,PNR,PNR -breakpoint,PNR,PNR,PNR,983041,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR -brk,45,12,12,45,214,45,12,12,45,45,45,45,214,45,45 -cachectl,PNR,PNR,PNR,PNR,PNR,148,198,198,PNR,PNR,PNR,PNR,PNR,PNR,PNR -cacheflush,PNR,PNR,PNR,983042,PNR,147,197,197,356,356,PNR,PNR,PNR,PNR,PNR -cachestat,451,451,451,451,451,451,451,451,451,451,451,451,451,451,451 -capget,184,125,125,184,90,204,123,123,106,106,183,183,90,184,184 -capset,185,126,126,185,91,205,124,124,107,107,184,184,91,185,185 -chdir,12,80,80,12,49,12,78,78,12,12,12,12,49,12,12 -chmod,15,90,90,15,PNR,15,88,88,15,15,15,15,PNR,15,15 -chown,182,92,92,182,PNR,202,90,90,180,180,181,181,PNR,182,212 -chown32,212,PNR,PNR,212,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,212,PNR -chroot,61,161,161,61,51,61,156,156,61,61,61,61,51,61,61 -clock_adjtime,343,305,305,372,266,341,300,305,324,324,347,347,266,337,337 -clock_adjtime64,405,PNR,PNR,405,PNR,405,PNR,405,405,PNR,405,PNR,PNR,405,PNR -clock_getres,266,229,229,264,114,264,223,227,257,257,247,247,114,261,261 -clock_getres_time64,406,PNR,PNR,406,PNR,406,PNR,406,406,PNR,406,PNR,PNR,406,PNR -clock_gettime,265,228,228,263,113,263,222,226,256,256,246,246,113,260,260 -clock_gettime64,403,PNR,PNR,403,PNR,403,PNR,403,403,PNR,403,PNR,PNR,403,PNR -clock_nanosleep,267,230,230,265,115,265,224,228,258,258,248,248,115,262,262 -clock_nanosleep_time64,407,PNR,PNR,407,PNR,407,PNR,407,407,PNR,407,PNR,PNR,407,PNR -clock_settime,264,227,227,262,112,262,221,225,255,255,245,245,112,259,259 -clock_settime64,404,PNR,PNR,404,PNR,404,PNR,404,404,PNR,404,PNR,PNR,404,PNR -clone,120,56,56,120,220,120,55,55,120,120,120,120,220,120,120 -clone3,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435 -close,6,3,3,6,57,6,3,3,6,6,6,6,57,6,6 -close_range,436,436,436,436,436,436,436,436,436,436,436,436,436,436,436 -connect,362,42,42,283,203,170,41,41,31,31,328,328,203,362,362 -copy_file_range,377,326,326,391,285,360,320,324,346,346,379,379,285,375,375 -creat,8,85,85,8,PNR,8,83,83,8,8,8,8,PNR,8,8 -create_module,127,174,PNR,PNR,PNR,127,167,167,PNR,PNR,127,127,PNR,127,127 -delete_module,129,176,176,129,106,129,169,169,129,129,129,129,106,129,129 -dup,41,32,32,41,23,41,31,31,41,41,41,41,23,41,41 -dup2,63,33,33,63,PNR,63,32,32,63,63,63,63,PNR,63,63 -dup3,330,292,292,358,24,327,286,290,312,312,316,316,24,326,326 -epoll_create,254,213,213,250,PNR,248,207,207,224,224,236,236,PNR,249,249 -epoll_create1,329,291,291,357,20,326,285,289,311,311,315,315,20,327,327 -epoll_ctl,255,233,233,251,21,249,208,208,225,225,237,237,21,250,250 -epoll_ctl_old,PNR,214,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR -epoll_pwait,319,281,281,346,22,313,272,276,297,297,303,303,22,312,312 -epoll_pwait2,441,441,441,441,441,441,441,441,441,441,441,441,441,441,441 -epoll_wait,256,232,232,252,PNR,250,209,209,226,226,238,238,PNR,251,251 -epoll_wait_old,PNR,215,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR -eventfd,323,284,284,351,PNR,319,278,282,304,304,307,307,PNR,318,318 -eventfd2,328,290,290,356,19,325,284,288,310,310,314,314,19,323,323 -execve,11,59,520,11,221,11,57,57,11,11,11,11,221,11,11 -execveat,358,322,545,387,281,356,316,320,342,342,362,362,281,354,354 -exit,1,60,60,1,93,1,58,58,1,1,1,1,93,1,1 -exit_group,252,231,231,248,94,246,205,205,222,222,234,234,94,248,248 -faccessat,307,269,269,334,48,300,259,263,287,287,298,298,48,300,300 -faccessat2,439,439,439,439,439,439,439,439,439,439,439,439,439,439,439 -fadvise64,250,221,221,PNR,223,254,215,216,PNR,PNR,233,233,223,253,253 -fadvise64_64,272,PNR,PNR,PNR,PNR,PNR,PNR,PNR,236,236,254,PNR,PNR,264,PNR -fallocate,324,285,285,352,47,320,279,283,305,305,309,309,47,314,314 -fanotify_init,338,300,300,367,262,336,295,300,322,322,323,323,262,332,332 -fanotify_mark,339,301,301,368,263,337,296,301,323,323,324,324,263,333,333 -fchdir,133,81,81,133,50,133,79,79,133,133,133,133,50,133,133 -fchmod,94,91,91,94,52,94,89,89,94,94,94,94,52,94,94 -fchmodat,306,268,268,333,53,299,258,262,286,286,297,297,53,299,299 -fchmodat2,452,452,452,452,452,452,452,452,452,452,452,452,452,452,452 -fchown,95,93,93,95,55,95,91,91,95,95,95,95,55,95,207 -fchown32,207,PNR,PNR,207,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,207,PNR -fchownat,298,260,260,325,54,291,250,254,278,278,289,289,54,291,291 -fcntl,55,72,72,55,25,55,70,70,55,55,55,55,25,55,55 -fcntl64,221,PNR,PNR,221,PNR,220,PNR,212,202,202,204,PNR,PNR,221,PNR -fdatasync,148,75,75,148,83,152,73,73,148,148,148,148,83,148,148 -fgetxattr,231,193,193,231,10,229,185,185,243,243,214,214,10,229,229 -finit_module,350,313,313,379,273,348,307,312,333,333,353,353,273,344,344 -flistxattr,234,196,196,234,13,232,188,188,246,246,217,217,13,232,232 -flock,143,73,73,143,32,143,71,71,143,143,143,143,32,143,143 -fork,2,57,57,2,PNR,2,56,56,2,2,2,2,PNR,2,2 -fremovexattr,237,199,199,237,16,235,191,191,249,249,220,220,16,235,235 -fsconfig,431,431,431,431,431,431,431,431,431,431,431,431,431,431,431 -fsetxattr,228,190,190,228,7,226,182,182,240,240,211,211,7,226,226 -fsmount,432,432,432,432,432,432,432,432,432,432,432,432,432,432,432 -fsopen,430,430,430,430,430,430,430,430,430,430,430,430,430,430,430 -fspick,433,433,433,433,433,433,433,433,433,433,433,433,433,433,433 -fstat,108,5,5,108,80,108,5,5,28,28,108,108,80,108,108 -fstat64,197,PNR,PNR,197,PNR,215,PNR,PNR,112,112,197,PNR,PNR,197,PNR -fstatat64,300,PNR,PNR,327,PNR,293,PNR,PNR,280,280,291,PNR,PNR,293,PNR -fstatfs,100,138,138,100,44,100,135,135,100,100,100,100,44,100,100 -fstatfs64,269,PNR,PNR,267,PNR,256,PNR,218,299,299,253,253,PNR,266,266 -fsync,118,74,74,118,82,118,72,72,118,118,118,118,82,118,118 -ftime,35,PNR,PNR,PNR,PNR,35,PNR,PNR,PNR,PNR,35,35,PNR,PNR,PNR -ftruncate,93,77,77,93,46,93,75,75,93,93,93,93,46,93,93 -ftruncate64,194,PNR,PNR,194,PNR,212,PNR,PNR,200,200,194,PNR,PNR,194,PNR -futex,240,202,202,240,98,238,194,194,210,210,221,221,98,238,238 -futex_requeue,456,456,456,456,456,456,456,456,456,456,456,456,456,456,456 -futex_time64,422,PNR,PNR,422,PNR,422,PNR,422,422,PNR,422,PNR,PNR,422,PNR -futex_wait,455,455,455,455,455,455,455,455,455,455,455,455,455,455,455 -futex_waitv,449,449,449,449,449,449,449,449,449,449,449,449,449,449,449 -futex_wake,454,454,454,454,454,454,454,454,454,454,454,454,454,454,454 -futimesat,299,261,261,326,PNR,292,251,255,279,279,290,290,PNR,292,292 -getcpu,318,309,309,345,168,312,271,275,296,296,302,302,168,311,311 -getcwd,183,79,79,183,17,203,77,77,110,110,182,182,17,183,183 -getdents,141,78,78,141,PNR,141,76,76,141,141,141,141,PNR,141,141 -getdents64,220,217,217,217,61,219,308,299,201,201,202,202,61,220,220 -getegid,50,108,108,50,177,50,106,106,50,50,50,50,177,50,202 -getegid32,202,PNR,PNR,202,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,202,PNR -geteuid,49,107,107,49,175,49,105,105,49,49,49,49,175,49,201 -geteuid32,201,PNR,PNR,201,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,201,PNR -getgid,47,104,104,47,176,47,102,102,47,47,47,47,176,47,200 -getgid32,200,PNR,PNR,200,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,200,PNR -getgroups,80,115,115,80,158,80,113,113,80,80,80,80,158,80,205 -getgroups32,205,PNR,PNR,205,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,205,PNR -getitimer,105,36,36,105,102,105,35,35,105,105,105,105,102,105,105 -get_kernel_syms,130,177,PNR,PNR,PNR,130,170,170,PNR,PNR,130,130,PNR,130,130 -get_mempolicy,275,239,239,320,236,269,228,232,261,261,260,260,236,269,269 -getpeername,368,52,52,287,205,171,51,51,53,53,332,332,205,368,368 -getpgid,132,121,121,132,155,132,119,119,132,132,132,132,155,132,132 -getpgrp,65,111,111,65,PNR,65,109,109,65,65,65,65,PNR,65,65 -getpid,20,39,39,20,172,20,38,38,20,20,20,20,172,20,20 -getpmsg,188,181,181,PNR,PNR,208,174,174,PNR,PNR,187,187,PNR,188,188 -getppid,64,110,110,64,173,64,108,108,64,64,64,64,173,64,64 -getpriority,96,140,140,96,141,96,137,137,96,96,96,96,141,96,96 -getrandom,355,318,318,384,278,353,313,317,339,339,359,359,278,349,349 -getresgid,171,120,120,171,150,191,118,118,171,171,170,170,150,171,211 -getresgid32,211,PNR,PNR,211,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,211,PNR -getresuid,165,118,118,165,148,186,116,116,165,165,165,165,148,165,209 -getresuid32,209,PNR,PNR,209,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,209,PNR -getrlimit,76,97,97,PNR,163,76,95,95,76,76,76,76,163,76,191 -get_robust_list,312,274,531,339,100,310,269,273,290,290,299,299,100,305,305 -getrusage,77,98,98,77,165,77,96,96,77,77,77,77,165,77,77 -getsid,147,124,124,147,156,151,122,122,147,147,147,147,156,147,147 -getsockname,367,51,51,286,204,172,50,50,44,44,331,331,204,367,367 -getsockopt,365,55,542,295,209,173,54,54,182,182,340,340,209,365,365 -get_thread_area,244,211,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR -gettid,224,186,186,224,178,222,178,178,206,206,207,207,178,236,236 -gettimeofday,78,96,96,78,169,78,94,94,78,78,78,78,169,78,78 -get_tls,PNR,PNR,PNR,983046,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR -getuid,24,102,102,24,174,24,100,100,24,24,24,24,174,24,199 -getuid32,199,PNR,PNR,199,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,199,PNR -getxattr,229,191,191,229,8,227,183,183,241,241,212,212,8,227,227 -gtty,32,PNR,PNR,PNR,PNR,32,PNR,PNR,PNR,PNR,32,32,PNR,PNR,PNR -idle,112,PNR,PNR,PNR,PNR,112,PNR,PNR,PNR,PNR,112,112,PNR,112,112 -init_module,128,175,175,128,105,128,168,168,128,128,128,128,105,128,128 -inotify_add_watch,292,254,254,317,27,285,244,248,270,270,276,276,27,285,285 -inotify_init,291,253,253,316,PNR,284,243,247,269,269,275,275,PNR,284,284 -inotify_init1,332,294,294,360,26,329,288,292,314,314,318,318,26,324,324 -inotify_rm_watch,293,255,255,318,28,286,245,249,271,271,277,277,28,286,286 -io_cancel,249,210,210,247,3,245,204,204,219,219,231,231,3,247,247 -ioctl,54,16,514,54,29,54,15,15,54,54,54,54,29,54,54 -io_destroy,246,207,207,244,1,242,201,201,216,216,228,228,1,244,244 -io_getevents,247,208,208,245,4,243,202,202,217,217,229,229,4,245,245 -ioperm,101,173,173,PNR,PNR,101,PNR,PNR,PNR,PNR,101,101,PNR,101,PNR -io_pgetevents,385,333,333,399,292,368,328,332,350,350,388,388,292,382,382 -io_pgetevents_time64,416,PNR,PNR,416,PNR,416,PNR,416,416,PNR,416,PNR,PNR,416,PNR -iopl,110,172,172,PNR,PNR,110,PNR,PNR,PNR,PNR,110,110,PNR,PNR,PNR -ioprio_get,290,252,252,315,31,315,274,278,268,268,274,274,31,283,283 -ioprio_set,289,251,251,314,30,314,273,277,267,267,273,273,30,282,282 -io_setup,245,206,543,243,0,241,200,200,215,215,227,227,0,243,243 -io_submit,248,209,544,246,2,244,203,203,218,218,230,230,2,246,246 -io_uring_enter,426,426,426,426,426,426,426,426,426,426,426,426,426,426,426 -io_uring_register,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427 -io_uring_setup,425,425,425,425,425,425,425,425,425,425,425,425,425,425,425 -ipc,117,PNR,PNR,PNR,PNR,117,PNR,PNR,PNR,PNR,117,117,PNR,117,117 -kcmp,349,312,312,378,272,347,306,311,332,332,354,354,272,343,343 -kexec_file_load,PNR,320,320,401,294,PNR,PNR,PNR,355,355,382,382,294,381,381 -kexec_load,283,246,528,347,104,311,270,274,300,300,268,268,104,277,277 -keyctl,288,250,250,311,219,282,241,245,266,266,271,271,219,280,280 -kill,37,62,62,37,129,37,60,60,37,37,37,37,129,37,37 -landlock_add_rule,445,445,445,445,445,445,445,445,445,445,445,445,445,445,445 -landlock_create_ruleset,444,444,444,444,444,444,444,444,444,444,444,444,444,444,444 -landlock_restrict_self,446,446,446,446,446,446,446,446,446,446,446,446,446,446,446 -lchown,16,94,94,16,PNR,16,92,92,16,16,16,16,PNR,16,198 -lchown32,198,PNR,PNR,198,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,198,PNR -lgetxattr,230,192,192,230,9,228,184,184,242,242,213,213,9,228,228 -link,9,86,86,9,PNR,9,84,84,9,9,9,9,PNR,9,9 -linkat,303,265,265,330,37,296,255,259,283,283,294,294,37,296,296 -listen,363,50,50,284,201,174,49,49,32,32,329,329,201,363,363 -listxattr,232,194,194,232,11,230,186,186,244,244,215,215,11,230,230 -llistxattr,233,195,195,233,12,231,187,187,245,245,216,216,12,231,231 -_llseek,140,PNR,PNR,140,PNR,140,PNR,PNR,140,140,140,140,PNR,140,PNR -lock,53,PNR,PNR,PNR,PNR,53,PNR,PNR,PNR,PNR,53,53,PNR,PNR,PNR -lookup_dcookie,253,212,212,249,18,247,206,206,223,223,235,235,18,110,110 -lremovexattr,236,198,198,236,15,234,190,190,248,248,219,219,15,234,234 -lseek,19,8,8,19,62,19,8,8,19,19,19,19,62,19,19 -lsetxattr,227,189,189,227,6,225,181,181,239,239,210,210,6,225,225 -lstat,107,6,6,107,PNR,107,6,6,84,84,107,107,PNR,107,107 -lstat64,196,PNR,PNR,196,PNR,214,PNR,PNR,198,198,196,PNR,PNR,196,PNR -madvise,219,28,28,220,233,218,27,27,119,119,205,205,233,219,219 -map_shadow_stack,453,453,PNR,453,453,453,453,453,453,453,453,453,453,453,453 -mbind,274,237,237,319,235,268,227,231,260,260,259,259,235,268,268 -membarrier,375,324,324,389,283,358,318,322,343,343,365,365,283,356,356 -memfd_create,356,319,319,385,279,354,314,318,340,340,360,360,279,350,350 -memfd_secret,447,447,447,PNR,447,PNR,PNR,PNR,PNR,PNR,PNR,PNR,447,447,447 -migrate_pages,294,256,256,400,238,287,246,250,272,272,258,258,238,287,287 -mincore,218,27,27,219,232,217,26,26,72,72,206,206,232,218,218 -mkdir,39,83,83,39,PNR,39,81,81,39,39,39,39,PNR,39,39 -mkdirat,296,258,258,323,34,289,248,252,276,276,287,287,34,289,289 -mknod,14,133,133,14,PNR,14,131,131,14,14,14,14,PNR,14,14 -mknodat,297,259,259,324,33,290,249,253,277,277,288,288,33,290,290 -mlock,150,149,149,150,228,154,146,146,150,150,150,150,228,150,150 -mlock2,376,325,325,390,284,359,319,323,345,345,378,378,284,374,374 -mlockall,152,151,151,152,230,156,148,148,152,152,152,152,230,152,152 -mmap,90,9,9,PNR,222,90,9,9,90,90,90,90,222,90,90 -mmap2,192,PNR,PNR,192,PNR,210,PNR,PNR,89,89,192,PNR,PNR,192,PNR -modify_ldt,123,154,154,PNR,PNR,123,PNR,PNR,PNR,PNR,123,123,PNR,PNR,PNR -mount,21,165,165,21,40,21,160,160,21,21,21,21,40,21,21 -mount_setattr,442,442,442,442,442,442,442,442,442,442,442,442,442,442,442 -move_mount,429,429,429,429,429,429,429,429,429,429,429,429,429,429,429 -move_pages,317,279,533,344,239,308,267,271,295,295,301,301,239,310,310 -mprotect,125,10,10,125,226,125,10,10,125,125,125,125,226,125,125 -mpx,56,PNR,PNR,PNR,PNR,56,PNR,PNR,PNR,PNR,56,56,PNR,PNR,PNR -mq_getsetattr,282,245,245,279,185,276,235,239,234,234,267,267,185,276,276 -mq_notify,281,244,527,278,184,275,234,238,233,233,266,266,184,275,275 -mq_open,277,240,240,274,180,271,230,234,229,229,262,262,180,271,271 -mq_timedreceive,280,243,243,277,183,274,233,237,232,232,265,265,183,274,274 -mq_timedreceive_time64,419,PNR,PNR,419,PNR,419,PNR,419,419,PNR,419,PNR,PNR,419,PNR -mq_timedsend,279,242,242,276,182,273,232,236,231,231,264,264,182,273,273 -mq_timedsend_time64,418,PNR,PNR,418,PNR,418,PNR,418,418,PNR,418,PNR,PNR,418,PNR -mq_unlink,278,241,241,275,181,272,231,235,230,230,263,263,181,272,272 -mremap,163,25,25,163,216,167,24,24,163,163,163,163,216,163,163 -msgctl,402,71,71,304,187,402,69,69,191,191,402,402,187,402,402 -msgget,399,68,68,303,186,399,66,66,190,190,399,399,186,399,399 -msgrcv,401,70,70,302,188,401,68,68,189,189,401,401,188,401,401 -msgsnd,400,69,69,301,189,400,67,67,188,188,400,400,189,400,400 -msync,144,26,26,144,227,144,25,25,144,144,144,144,227,144,144 -multiplexer,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,201,201,PNR,PNR,PNR -munlock,151,150,150,151,229,155,147,147,151,151,151,151,229,151,151 -munlockall,153,152,152,153,231,157,149,149,153,153,153,153,231,153,153 -munmap,91,11,11,91,215,91,11,11,91,91,91,91,215,91,91 -name_to_handle_at,341,303,303,370,264,339,298,303,325,325,345,345,264,335,335 -nanosleep,162,35,35,162,101,166,34,34,162,162,162,162,101,162,162 -newfstatat,PNR,262,262,PNR,79,PNR,252,256,PNR,PNR,PNR,291,79,PNR,293 -_newselect,142,PNR,PNR,142,PNR,142,22,22,142,142,142,142,PNR,142,PNR -nfsservctl,169,180,PNR,169,42,189,173,173,PNR,PNR,168,168,42,169,169 -nice,34,PNR,PNR,34,PNR,34,PNR,PNR,34,34,34,34,PNR,34,34 -oldfstat,28,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,28,28,PNR,PNR,PNR -oldlstat,84,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,84,84,PNR,PNR,PNR -oldolduname,59,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,59,59,PNR,PNR,PNR -oldstat,18,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,18,18,PNR,PNR,PNR -olduname,109,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,109,109,PNR,PNR,PNR -open,5,2,2,5,PNR,5,2,2,5,5,5,5,PNR,5,5 -openat,295,257,257,322,56,288,247,251,275,275,286,286,56,288,288 -openat2,437,437,437,437,437,437,437,437,437,437,437,437,437,437,437 -open_by_handle_at,342,304,304,371,265,340,299,304,326,326,346,346,265,336,336 -open_tree,428,428,428,428,428,428,428,428,428,428,428,428,428,428,428 -pause,29,34,34,29,PNR,29,33,33,29,29,29,29,PNR,29,29 -pciconfig_iobase,PNR,PNR,PNR,271,PNR,PNR,PNR,PNR,PNR,PNR,200,200,PNR,PNR,PNR -pciconfig_read,PNR,PNR,PNR,272,PNR,PNR,PNR,PNR,PNR,PNR,198,198,PNR,PNR,PNR -pciconfig_write,PNR,PNR,PNR,273,PNR,PNR,PNR,PNR,PNR,PNR,199,199,PNR,PNR,PNR -perf_event_open,336,298,298,364,241,333,292,296,318,318,319,319,241,331,331 -personality,136,135,135,136,92,136,132,132,136,136,136,136,92,136,136 -pidfd_getfd,438,438,438,438,438,438,438,438,438,438,438,438,438,438,438 -pidfd_open,434,434,434,434,434,434,434,434,434,434,434,434,434,434,434 -pidfd_send_signal,424,424,424,424,424,424,424,424,424,424,424,424,424,424,424 -pipe,42,22,22,42,PNR,42,21,21,42,42,42,42,PNR,42,42 -pipe2,331,293,293,359,59,328,287,291,313,313,317,317,59,325,325 -pivot_root,217,155,155,218,41,216,151,151,67,67,203,203,41,217,217 -pkey_alloc,381,330,330,395,289,364,324,328,352,352,384,384,289,385,385 -pkey_free,382,331,331,396,290,365,325,329,353,353,385,385,290,386,386 -pkey_mprotect,380,329,329,394,288,363,323,327,351,351,386,386,288,384,384 -poll,168,7,7,168,PNR,188,7,7,168,168,167,167,PNR,168,168 -ppoll,309,271,271,336,73,302,261,265,274,274,281,281,73,302,302 -ppoll_time64,414,PNR,PNR,414,PNR,414,PNR,414,414,PNR,414,PNR,PNR,414,PNR -prctl,172,157,157,172,167,192,153,153,172,172,171,171,167,172,172 -pread64,180,17,17,180,67,200,16,16,108,108,179,179,67,180,180 -preadv,333,295,534,361,69,330,289,293,315,315,320,320,69,328,328 -preadv2,378,327,546,392,286,361,321,325,347,347,380,380,286,376,376 -prlimit64,340,302,302,369,261,338,297,302,321,321,325,325,261,334,334 -process_madvise,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440 -process_mrelease,448,448,448,448,448,448,448,448,448,448,448,448,448,448,448 -process_vm_readv,347,310,539,376,270,345,304,309,330,330,351,351,270,340,340 -process_vm_writev,348,311,540,377,271,346,305,310,331,331,352,352,271,341,341 -prof,44,PNR,PNR,PNR,PNR,44,PNR,PNR,PNR,PNR,44,44,PNR,PNR,PNR -profil,98,PNR,PNR,PNR,PNR,98,PNR,PNR,PNR,PNR,98,98,PNR,PNR,PNR -pselect6,308,270,270,335,72,301,260,264,273,273,280,280,72,301,301 -pselect6_time64,413,PNR,PNR,413,PNR,413,PNR,413,413,PNR,413,PNR,PNR,413,PNR -ptrace,26,101,521,26,117,26,99,99,26,26,26,26,117,26,26 -putpmsg,189,182,182,PNR,PNR,209,175,175,PNR,PNR,188,188,PNR,189,189 -pwrite64,181,18,18,181,68,201,17,17,109,109,180,180,68,181,181 -pwritev,334,296,535,362,70,331,290,294,316,316,321,321,70,329,329 -pwritev2,379,328,547,393,287,362,322,326,348,348,381,381,287,377,377 -query_module,167,178,PNR,PNR,PNR,187,171,171,PNR,PNR,166,166,PNR,167,167 -quotactl,131,179,179,131,60,131,172,172,131,131,131,131,60,131,131 -quotactl_fd,443,443,443,443,443,443,443,443,443,443,443,443,443,443,443 -read,3,0,0,3,63,3,0,0,3,3,3,3,63,3,3 -readahead,225,187,187,225,213,223,179,179,207,207,191,191,213,222,222 -readdir,89,PNR,PNR,PNR,PNR,89,PNR,PNR,PNR,PNR,89,89,PNR,89,89 -readlink,85,89,89,85,PNR,85,87,87,85,85,85,85,PNR,85,85 -readlinkat,305,267,267,332,78,298,257,261,285,285,296,296,78,298,298 -readv,145,19,515,145,65,145,18,18,145,145,145,145,65,145,145 -reboot,88,169,169,88,142,88,164,164,88,88,88,88,142,88,88 -recv,PNR,PNR,PNR,291,PNR,175,PNR,PNR,98,98,336,336,PNR,PNR,PNR -recvfrom,371,45,517,292,207,176,44,44,123,123,337,337,207,371,371 -recvmmsg,337,299,537,365,243,335,294,298,319,319,343,343,243,357,357 -recvmmsg_time64,417,PNR,PNR,417,PNR,417,PNR,417,417,PNR,417,PNR,PNR,417,PNR -recvmsg,372,47,519,297,212,177,46,46,184,184,342,342,212,372,372 -remap_file_pages,257,216,216,253,234,251,210,210,227,227,239,239,234,267,267 -removexattr,235,197,197,235,14,233,189,189,247,247,218,218,14,233,233 -rename,38,82,82,38,PNR,38,80,80,38,38,38,38,PNR,38,38 -renameat,302,264,264,329,38,295,254,258,282,282,293,293,PNR,295,295 -renameat2,353,316,316,382,276,351,311,315,337,337,357,357,276,347,347 -request_key,287,249,249,310,218,281,240,244,265,265,270,270,218,279,279 -restart_syscall,0,219,219,0,128,253,213,214,0,0,0,0,128,7,7 -riscv_flush_icache,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,259,PNR,PNR -rmdir,40,84,84,40,PNR,40,82,82,40,40,40,40,PNR,40,40 -rseq,386,334,334,398,293,367,327,331,354,354,387,387,293,383,383 -rtas,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,255,255,PNR,PNR,PNR -rt_sigaction,174,13,512,174,134,194,13,13,174,174,173,173,134,174,174 -rt_sigpending,176,127,522,176,136,196,125,125,176,176,175,175,136,176,176 -rt_sigprocmask,175,14,14,175,135,195,14,14,175,175,174,174,135,175,175 -rt_sigqueueinfo,178,129,524,178,138,198,127,127,178,178,177,177,138,178,178 -rt_sigreturn,173,15,513,173,139,193,211,211,173,173,172,172,139,173,173 -rt_sigsuspend,179,130,130,179,133,199,128,128,179,179,178,178,133,179,179 -rt_sigtimedwait,177,128,523,177,137,197,126,126,177,177,176,176,137,177,177 -rt_sigtimedwait_time64,421,PNR,PNR,421,PNR,421,PNR,421,421,PNR,421,PNR,PNR,421,PNR -rt_tgsigqueueinfo,335,297,536,363,240,332,291,295,317,317,322,322,240,330,330 -s390_guarded_storage,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,378,378 -s390_pci_mmio_read,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,353,353 -s390_pci_mmio_write,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,352,352 -s390_runtime_instr,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,342,342 -s390_sthyi,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,380,380 -sched_getaffinity,242,204,204,242,123,240,196,196,212,212,223,223,123,240,240 -sched_getattr,352,315,315,381,275,350,310,314,335,335,356,356,275,346,346 -sched_getparam,155,143,143,155,121,159,140,140,155,155,155,155,121,155,155 -sched_get_priority_max,159,146,146,159,125,163,143,143,159,159,159,159,125,159,159 -sched_get_priority_min,160,147,147,160,126,164,144,144,160,160,160,160,126,160,160 -sched_getscheduler,157,145,145,157,120,161,142,142,157,157,157,157,120,157,157 -sched_rr_get_interval,161,148,148,161,127,165,145,145,161,161,161,161,127,161,161 -sched_rr_get_interval_time64,423,PNR,PNR,423,PNR,423,PNR,423,423,PNR,423,PNR,PNR,423,PNR -sched_setaffinity,241,203,203,241,122,239,195,195,211,211,222,222,122,239,239 -sched_setattr,351,314,314,380,274,349,309,313,334,334,355,355,274,345,345 -sched_setparam,154,142,142,154,118,158,139,139,154,154,154,154,118,154,154 -sched_setscheduler,156,144,144,156,119,160,141,141,156,156,156,156,119,156,156 -sched_yield,158,24,24,158,124,162,23,23,158,158,158,158,124,158,158 -seccomp,354,317,317,383,277,352,312,316,338,338,358,358,277,348,348 -security,PNR,185,185,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR -select,82,23,23,PNR,PNR,PNR,PNR,PNR,PNR,PNR,82,82,PNR,PNR,142 -semctl,394,66,66,300,191,394,64,64,187,187,394,394,191,394,394 -semget,393,64,64,299,190,393,62,62,186,186,393,393,190,393,393 -semop,PNR,65,65,298,193,PNR,63,63,185,185,PNR,PNR,193,PNR,PNR -semtimedop,PNR,220,220,312,192,PNR,214,215,228,228,PNR,392,192,PNR,392 -semtimedop_time64,420,PNR,PNR,420,PNR,420,PNR,420,420,PNR,420,PNR,PNR,420,PNR -send,PNR,PNR,PNR,289,PNR,178,PNR,PNR,58,58,334,334,PNR,PNR,PNR -sendfile,187,40,40,187,71,207,39,39,122,122,186,186,71,187,187 -sendfile64,239,PNR,PNR,239,PNR,237,PNR,219,209,209,226,PNR,PNR,223,PNR -sendmmsg,345,307,538,374,269,343,302,307,329,329,349,349,269,358,358 -sendmsg,370,46,518,296,211,179,45,45,183,183,341,341,211,370,370 -sendto,369,44,44,290,206,180,43,43,82,82,335,335,206,369,369 -setdomainname,121,171,171,121,162,121,166,166,121,121,121,121,162,121,121 -setfsgid,139,123,123,139,152,139,121,121,139,139,139,139,152,139,216 -setfsgid32,216,PNR,PNR,216,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,216,PNR -setfsuid,138,122,122,138,151,138,120,120,138,138,138,138,151,138,215 -setfsuid32,215,PNR,PNR,215,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,215,PNR -setgid,46,106,106,46,144,46,104,104,46,46,46,46,144,46,214 -setgid32,214,PNR,PNR,214,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,214,PNR -setgroups,81,116,116,81,159,81,114,114,81,81,81,81,159,81,206 -setgroups32,206,PNR,PNR,206,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,206,PNR -sethostname,74,170,170,74,161,74,165,165,74,74,74,74,161,74,74 -setitimer,104,38,38,104,103,104,36,36,104,104,104,104,103,104,104 -set_mempolicy,276,238,238,321,237,270,229,233,262,262,261,261,237,270,270 -set_mempolicy_home_node,450,450,450,450,450,450,450,450,450,450,450,450,450,450,450 -setns,346,308,308,375,268,344,303,308,328,328,350,350,268,339,339 -setpgid,57,109,109,57,154,57,107,107,57,57,57,57,154,57,57 -setpriority,97,141,141,97,140,97,138,138,97,97,97,97,140,97,97 -setregid,71,114,114,71,143,71,112,112,71,71,71,71,143,71,204 -setregid32,204,PNR,PNR,204,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,204,PNR -setresgid,170,119,119,170,149,190,117,117,170,170,169,169,149,170,210 -setresgid32,210,PNR,PNR,210,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,210,PNR -setresuid,164,117,117,164,147,185,115,115,164,164,164,164,147,164,208 -setresuid32,208,PNR,PNR,208,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,208,PNR -setreuid,70,113,113,70,145,70,111,111,70,70,70,70,145,70,203 -setreuid32,203,PNR,PNR,203,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,203,PNR -setrlimit,75,160,160,75,164,75,155,155,75,75,75,75,164,75,75 -set_robust_list,311,273,530,338,99,309,268,272,289,289,300,300,99,304,304 -setsid,66,112,112,66,157,66,110,110,66,66,66,66,157,66,66 -setsockopt,366,54,541,294,208,181,53,53,181,181,339,339,208,366,366 -set_thread_area,243,205,PNR,PNR,PNR,283,242,246,PNR,PNR,PNR,PNR,PNR,PNR,PNR -set_tid_address,258,218,218,256,96,252,212,213,237,237,232,232,96,252,252 -settimeofday,79,164,164,79,170,79,159,159,79,79,79,79,170,79,79 -set_tls,PNR,PNR,PNR,983045,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR -setuid,23,105,105,23,146,23,103,103,23,23,23,23,146,23,213 -setuid32,213,PNR,PNR,213,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,213,PNR -setxattr,226,188,188,226,5,224,180,180,238,238,209,209,5,224,224 -sgetmask,68,PNR,PNR,PNR,PNR,68,PNR,PNR,68,68,68,68,PNR,PNR,PNR -shmat,397,30,30,305,196,397,29,29,192,192,397,397,196,397,397 -shmctl,396,31,31,308,195,396,30,30,195,195,396,396,195,396,396 -shmdt,398,67,67,306,197,398,65,65,193,193,398,398,197,398,398 -shmget,395,29,29,307,194,395,28,28,194,194,395,395,194,395,395 -shutdown,373,48,48,293,210,182,47,47,117,117,338,338,210,373,373 -sigaction,67,PNR,PNR,67,PNR,67,PNR,PNR,PNR,PNR,67,67,PNR,67,67 -sigaltstack,186,131,525,186,132,206,129,129,166,166,185,185,132,186,186 -signal,48,PNR,PNR,PNR,PNR,48,PNR,PNR,48,48,48,48,PNR,48,48 -signalfd,321,282,282,349,PNR,317,276,280,302,302,305,305,PNR,316,316 -signalfd4,327,289,289,355,74,324,283,287,309,309,313,313,74,322,322 -sigpending,73,PNR,PNR,73,PNR,73,PNR,PNR,73,73,73,73,PNR,73,73 -sigprocmask,126,PNR,PNR,126,PNR,126,PNR,PNR,126,126,126,126,PNR,126,126 -sigreturn,119,PNR,PNR,119,PNR,119,PNR,PNR,PNR,PNR,119,119,PNR,119,119 -sigsuspend,72,PNR,PNR,72,PNR,72,PNR,PNR,PNR,PNR,72,72,PNR,72,72 -socket,359,41,41,281,198,183,40,40,17,17,326,326,198,359,359 -socketcall,102,PNR,PNR,PNR,PNR,102,PNR,PNR,PNR,PNR,102,102,PNR,102,102 -socketpair,360,53,53,288,199,184,52,52,56,56,333,333,199,360,360 -splice,313,275,275,340,76,304,263,267,291,291,283,283,76,306,306 -spu_create,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,279,279,PNR,PNR,PNR -spu_run,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,278,278,PNR,PNR,PNR -ssetmask,69,PNR,PNR,PNR,PNR,69,PNR,PNR,69,69,69,69,PNR,PNR,PNR -stat,106,4,4,106,PNR,106,4,4,18,18,106,106,PNR,106,106 -stat64,195,PNR,PNR,195,PNR,213,PNR,PNR,101,101,195,PNR,PNR,195,PNR -statfs,99,137,137,99,43,99,134,134,99,99,99,99,43,99,99 -statfs64,268,PNR,PNR,266,PNR,255,PNR,217,298,298,252,252,PNR,265,265 -statx,383,332,332,397,291,366,326,330,349,349,383,383,291,379,379 -stime,25,PNR,PNR,PNR,PNR,25,PNR,PNR,25,25,25,25,PNR,25,PNR -stty,31,PNR,PNR,PNR,PNR,31,PNR,PNR,PNR,PNR,31,31,PNR,PNR,PNR -subpage_prot,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,310,310,PNR,PNR,PNR -swapcontext,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,249,249,PNR,PNR,PNR -swapoff,115,168,168,115,225,115,163,163,115,115,115,115,225,115,115 -swapon,87,167,167,87,224,87,162,162,87,87,87,87,224,87,87 -switch_endian,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,363,363,PNR,PNR,PNR -symlink,83,88,88,83,PNR,83,86,86,83,83,83,83,PNR,83,83 -symlinkat,304,266,266,331,36,297,256,260,284,284,295,295,36,297,297 -sync,36,162,162,36,81,36,157,157,36,36,36,36,81,36,36 -sync_file_range,314,277,277,PNR,84,305,264,268,292,292,PNR,PNR,84,307,307 -sync_file_range2,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,308,308,PNR,PNR,PNR -syncfs,344,306,306,373,267,342,301,306,327,327,348,348,267,338,338 -syscall,PNR,PNR,PNR,PNR,PNR,0,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR -_sysctl,149,156,PNR,149,PNR,153,152,152,149,149,149,149,PNR,149,149 -sys_debug_setcontext,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,256,256,PNR,PNR,PNR -sysfs,135,139,139,135,PNR,135,136,136,135,135,135,135,PNR,135,135 -sysinfo,116,99,99,116,179,116,97,97,116,116,116,116,179,116,116 -syslog,103,103,103,103,116,103,101,101,103,103,103,103,116,103,103 -sysmips,PNR,PNR,PNR,PNR,PNR,149,199,199,PNR,PNR,PNR,PNR,PNR,PNR,PNR -tee,315,276,276,342,77,306,265,269,293,293,284,284,77,308,308 -tgkill,270,234,234,268,131,266,225,229,259,259,250,250,131,241,241 -time,13,201,201,PNR,PNR,13,PNR,PNR,13,13,13,13,PNR,13,PNR -timer_create,259,222,526,257,107,257,216,220,250,250,240,240,107,254,254 -timer_delete,263,226,226,261,111,261,220,224,254,254,244,244,111,258,258 -timerfd,PNR,PNR,PNR,PNR,PNR,318,277,281,PNR,PNR,PNR,PNR,PNR,317,317 -timerfd_create,322,283,283,350,85,321,280,284,306,306,306,306,85,319,319 -timerfd_gettime,326,287,287,354,87,322,281,285,308,308,312,312,87,321,321 -timerfd_gettime64,410,PNR,PNR,410,PNR,410,PNR,410,410,PNR,410,PNR,PNR,410,PNR -timerfd_settime,325,286,286,353,86,323,282,286,307,307,311,311,86,320,320 -timerfd_settime64,411,PNR,PNR,411,PNR,411,PNR,411,411,PNR,411,PNR,PNR,411,PNR -timer_getoverrun,262,225,225,260,109,260,219,223,253,253,243,243,109,257,257 -timer_gettime,261,224,224,259,108,259,218,222,252,252,242,242,108,256,256 -timer_gettime64,408,PNR,PNR,408,PNR,408,PNR,408,408,PNR,408,PNR,PNR,408,PNR -timer_settime,260,223,223,258,110,258,217,221,251,251,241,241,110,255,255 -timer_settime64,409,PNR,PNR,409,PNR,409,PNR,409,409,PNR,409,PNR,PNR,409,PNR -times,43,100,100,43,153,43,98,98,43,43,43,43,153,43,43 -tkill,238,200,200,238,130,236,192,192,208,208,208,208,130,237,237 -truncate,92,76,76,92,45,92,74,74,92,92,92,92,45,92,92 -truncate64,193,PNR,PNR,193,PNR,211,PNR,PNR,199,199,193,PNR,PNR,193,PNR -tuxcall,PNR,184,184,PNR,PNR,PNR,PNR,PNR,PNR,PNR,225,225,PNR,PNR,PNR -ugetrlimit,191,PNR,PNR,191,PNR,PNR,PNR,PNR,PNR,PNR,190,190,PNR,191,PNR -ulimit,58,PNR,PNR,PNR,PNR,58,PNR,PNR,PNR,PNR,58,58,PNR,PNR,PNR -umask,60,95,95,60,166,60,93,93,60,60,60,60,166,60,60 -umount,22,PNR,PNR,PNR,PNR,22,PNR,PNR,PNR,PNR,22,22,PNR,22,22 -umount2,52,166,166,52,39,52,161,161,52,52,52,52,39,52,52 -uname,122,63,63,122,160,122,61,61,59,59,122,122,160,122,122 -unlink,10,87,87,10,PNR,10,85,85,10,10,10,10,PNR,10,10 -unlinkat,301,263,263,328,35,294,253,257,281,281,292,292,35,294,294 -unshare,310,272,272,337,97,303,262,266,288,288,282,282,97,303,303 -uselib,86,134,PNR,86,PNR,86,PNR,PNR,86,86,86,86,PNR,86,86 -userfaultfd,374,323,323,388,282,357,317,321,344,344,364,364,282,355,355 -usr26,PNR,PNR,PNR,983043,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR -usr32,PNR,PNR,PNR,983044,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR -ustat,62,136,136,62,PNR,62,133,133,62,62,62,62,PNR,62,62 -utime,30,132,132,PNR,PNR,30,130,130,30,30,30,30,PNR,30,30 -utimensat,320,280,280,348,88,316,275,279,301,301,304,304,88,315,315 -utimensat_time64,412,PNR,PNR,412,PNR,412,PNR,412,412,PNR,412,PNR,PNR,412,PNR -utimes,271,235,235,269,PNR,267,226,230,336,336,251,251,PNR,313,313 -vfork,190,58,58,190,PNR,PNR,PNR,PNR,113,113,189,189,PNR,190,190 -vhangup,111,153,153,111,58,111,150,150,111,111,111,111,58,111,111 -vm86,166,PNR,PNR,PNR,PNR,113,PNR,PNR,PNR,PNR,113,113,PNR,PNR,PNR -vm86old,113,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR -vmsplice,316,278,532,343,75,307,266,270,294,294,285,285,75,309,309 -vserver,273,236,PNR,313,PNR,277,236,240,PNR,PNR,PNR,PNR,PNR,PNR,PNR -wait4,114,61,61,114,260,114,59,59,114,114,114,114,260,114,114 -waitid,284,247,529,280,95,278,237,241,235,235,272,272,95,281,281 -waitpid,7,PNR,PNR,PNR,PNR,7,PNR,PNR,7,7,7,7,PNR,PNR,PNR -write,4,1,1,4,64,4,1,1,4,4,4,4,64,4,4 -writev,146,20,516,146,66,146,19,19,146,146,146,146,66,146,146 +#syscall (v6.7.0-rc3 2023-11-30),x86,x86_64,x32,arm,aarch64,loongarch64,mips,mips64,mips64n32,parisc,parisc64,ppc,ppc64,riscv64,s390,s390x +accept,PNR,43,43,285,202,202,168,42,42,35,35,330,330,202,PNR,PNR +accept4,364,288,288,366,242,242,334,293,297,320,320,344,344,242,364,364 +access,33,21,21,33,PNR,PNR,33,20,20,33,33,33,33,PNR,33,33 +acct,51,163,163,51,89,89,51,158,158,51,51,51,51,89,51,51 +add_key,286,248,248,309,217,217,280,239,243,264,264,269,269,217,278,278 +adjtimex,124,159,159,124,171,171,124,154,154,124,124,124,124,171,124,124 +afs_syscall,137,183,183,PNR,PNR,PNR,137,176,176,PNR,PNR,137,137,PNR,137,137 +alarm,27,37,37,PNR,PNR,PNR,27,37,37,27,27,27,27,PNR,27,27 +arch_prctl,384,158,158,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR +arm_fadvise64_64,PNR,PNR,PNR,270,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR +arm_sync_file_range,PNR,PNR,PNR,341,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR +bdflush,134,PNR,PNR,134,PNR,PNR,134,PNR,PNR,134,134,134,134,PNR,134,134 +bind,361,49,49,282,200,200,169,48,48,22,22,327,327,200,361,361 +bpf,357,321,321,386,280,280,355,315,319,341,341,361,361,280,351,351 +break,17,PNR,PNR,PNR,PNR,PNR,17,PNR,PNR,PNR,PNR,17,17,PNR,PNR,PNR +breakpoint,PNR,PNR,PNR,983041,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR +brk,45,12,12,45,214,214,45,12,12,45,45,45,45,214,45,45 +cachectl,PNR,PNR,PNR,PNR,PNR,PNR,148,198,198,PNR,PNR,PNR,PNR,PNR,PNR,PNR +cacheflush,PNR,PNR,PNR,983042,PNR,PNR,147,197,197,356,356,PNR,PNR,PNR,PNR,PNR +cachestat,451,451,451,451,451,451,451,451,451,451,451,451,451,451,451,451 +capget,184,125,125,184,90,90,204,123,123,106,106,183,183,90,184,184 +capset,185,126,126,185,91,91,205,124,124,107,107,184,184,91,185,185 +chdir,12,80,80,12,49,49,12,78,78,12,12,12,12,49,12,12 +chmod,15,90,90,15,PNR,PNR,15,88,88,15,15,15,15,PNR,15,15 +chown,182,92,92,182,PNR,PNR,202,90,90,180,180,181,181,PNR,182,212 +chown32,212,PNR,PNR,212,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,212,PNR +chroot,61,161,161,61,51,51,61,156,156,61,61,61,61,51,61,61 +clock_adjtime,343,305,305,372,266,266,341,300,305,324,324,347,347,266,337,337 +clock_adjtime64,405,PNR,PNR,405,PNR,PNR,405,PNR,405,405,PNR,405,PNR,PNR,405,PNR +clock_getres,266,229,229,264,114,114,264,223,227,257,257,247,247,114,261,261 +clock_getres_time64,406,PNR,PNR,406,PNR,PNR,406,PNR,406,406,PNR,406,PNR,PNR,406,PNR +clock_gettime,265,228,228,263,113,113,263,222,226,256,256,246,246,113,260,260 +clock_gettime64,403,PNR,PNR,403,PNR,PNR,403,PNR,403,403,PNR,403,PNR,PNR,403,PNR +clock_nanosleep,267,230,230,265,115,115,265,224,228,258,258,248,248,115,262,262 +clock_nanosleep_time64,407,PNR,PNR,407,PNR,PNR,407,PNR,407,407,PNR,407,PNR,PNR,407,PNR +clock_settime,264,227,227,262,112,112,262,221,225,255,255,245,245,112,259,259 +clock_settime64,404,PNR,PNR,404,PNR,PNR,404,PNR,404,404,PNR,404,PNR,PNR,404,PNR +clone,120,56,56,120,220,220,120,55,55,120,120,120,120,220,120,120 +clone3,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435 +close,6,3,3,6,57,57,6,3,3,6,6,6,6,57,6,6 +close_range,436,436,436,436,436,436,436,436,436,436,436,436,436,436,436,436 +connect,362,42,42,283,203,203,170,41,41,31,31,328,328,203,362,362 +copy_file_range,377,326,326,391,285,285,360,320,324,346,346,379,379,285,375,375 +creat,8,85,85,8,PNR,PNR,8,83,83,8,8,8,8,PNR,8,8 +create_module,127,174,PNR,PNR,PNR,PNR,127,167,167,PNR,PNR,127,127,PNR,127,127 +delete_module,129,176,176,129,106,106,129,169,169,129,129,129,129,106,129,129 +dup,41,32,32,41,23,23,41,31,31,41,41,41,41,23,41,41 +dup2,63,33,33,63,PNR,PNR,63,32,32,63,63,63,63,PNR,63,63 +dup3,330,292,292,358,24,24,327,286,290,312,312,316,316,24,326,326 +epoll_create,254,213,213,250,PNR,PNR,248,207,207,224,224,236,236,PNR,249,249 +epoll_create1,329,291,291,357,20,20,326,285,289,311,311,315,315,20,327,327 +epoll_ctl,255,233,233,251,21,21,249,208,208,225,225,237,237,21,250,250 +epoll_ctl_old,PNR,214,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR +epoll_pwait,319,281,281,346,22,22,313,272,276,297,297,303,303,22,312,312 +epoll_pwait2,441,441,441,441,441,441,441,441,441,441,441,441,441,441,441,441 +epoll_wait,256,232,232,252,PNR,PNR,250,209,209,226,226,238,238,PNR,251,251 +epoll_wait_old,PNR,215,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR +eventfd,323,284,284,351,PNR,PNR,319,278,282,304,304,307,307,PNR,318,318 +eventfd2,328,290,290,356,19,19,325,284,288,310,310,314,314,19,323,323 +execve,11,59,520,11,221,221,11,57,57,11,11,11,11,221,11,11 +execveat,358,322,545,387,281,281,356,316,320,342,342,362,362,281,354,354 +exit,1,60,60,1,93,93,1,58,58,1,1,1,1,93,1,1 +exit_group,252,231,231,248,94,94,246,205,205,222,222,234,234,94,248,248 +faccessat,307,269,269,334,48,48,300,259,263,287,287,298,298,48,300,300 +faccessat2,439,439,439,439,439,439,439,439,439,439,439,439,439,439,439,439 +fadvise64,250,221,221,PNR,223,223,254,215,216,PNR,PNR,233,233,223,253,253 +fadvise64_64,272,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,236,236,254,PNR,PNR,264,PNR +fallocate,324,285,285,352,47,47,320,279,283,305,305,309,309,47,314,314 +fanotify_init,338,300,300,367,262,262,336,295,300,322,322,323,323,262,332,332 +fanotify_mark,339,301,301,368,263,263,337,296,301,323,323,324,324,263,333,333 +fchdir,133,81,81,133,50,50,133,79,79,133,133,133,133,50,133,133 +fchmod,94,91,91,94,52,52,94,89,89,94,94,94,94,52,94,94 +fchmodat,306,268,268,333,53,53,299,258,262,286,286,297,297,53,299,299 +fchmodat2,452,452,452,452,452,452,452,452,452,452,452,452,452,452,452,452 +fchown,95,93,93,95,55,55,95,91,91,95,95,95,95,55,95,207 +fchown32,207,PNR,PNR,207,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,207,PNR +fchownat,298,260,260,325,54,54,291,250,254,278,278,289,289,54,291,291 +fcntl,55,72,72,55,25,25,55,70,70,55,55,55,55,25,55,55 +fcntl64,221,PNR,PNR,221,PNR,PNR,220,PNR,212,202,202,204,PNR,PNR,221,PNR +fdatasync,148,75,75,148,83,83,152,73,73,148,148,148,148,83,148,148 +fgetxattr,231,193,193,231,10,10,229,185,185,243,243,214,214,10,229,229 +finit_module,350,313,313,379,273,273,348,307,312,333,333,353,353,273,344,344 +flistxattr,234,196,196,234,13,13,232,188,188,246,246,217,217,13,232,232 +flock,143,73,73,143,32,32,143,71,71,143,143,143,143,32,143,143 +fork,2,57,57,2,PNR,PNR,2,56,56,2,2,2,2,PNR,2,2 +fremovexattr,237,199,199,237,16,16,235,191,191,249,249,220,220,16,235,235 +fsconfig,431,431,431,431,431,431,431,431,431,431,431,431,431,431,431,431 +fsetxattr,228,190,190,228,7,7,226,182,182,240,240,211,211,7,226,226 +fsmount,432,432,432,432,432,432,432,432,432,432,432,432,432,432,432,432 +fsopen,430,430,430,430,430,430,430,430,430,430,430,430,430,430,430,430 +fspick,433,433,433,433,433,433,433,433,433,433,433,433,433,433,433,433 +fstat,108,5,5,108,80,PNR,108,5,5,28,28,108,108,80,108,108 +fstat64,197,PNR,PNR,197,PNR,PNR,215,PNR,PNR,112,112,197,PNR,PNR,197,PNR +fstatat64,300,PNR,PNR,327,PNR,PNR,293,PNR,PNR,280,280,291,PNR,PNR,293,PNR +fstatfs,100,138,138,100,44,44,100,135,135,100,100,100,100,44,100,100 +fstatfs64,269,PNR,PNR,267,PNR,PNR,256,PNR,218,299,299,253,253,PNR,266,266 +fsync,118,74,74,118,82,82,118,72,72,118,118,118,118,82,118,118 +ftime,35,PNR,PNR,PNR,PNR,PNR,35,PNR,PNR,PNR,PNR,35,35,PNR,PNR,PNR +ftruncate,93,77,77,93,46,46,93,75,75,93,93,93,93,46,93,93 +ftruncate64,194,PNR,PNR,194,PNR,PNR,212,PNR,PNR,200,200,194,PNR,PNR,194,PNR +futex,240,202,202,240,98,98,238,194,194,210,210,221,221,98,238,238 +futex_requeue,456,456,456,456,456,456,456,456,456,456,456,456,456,456,456,456 +futex_time64,422,PNR,PNR,422,PNR,PNR,422,PNR,422,422,PNR,422,PNR,PNR,422,PNR +futex_wait,455,455,455,455,455,455,455,455,455,455,455,455,455,455,455,455 +futex_waitv,449,449,449,449,449,449,449,449,449,449,449,449,449,449,449,449 +futex_wake,454,454,454,454,454,454,454,454,454,454,454,454,454,454,454,454 +futimesat,299,261,261,326,PNR,PNR,292,251,255,279,279,290,290,PNR,292,292 +getcpu,318,309,309,345,168,168,312,271,275,296,296,302,302,168,311,311 +getcwd,183,79,79,183,17,17,203,77,77,110,110,182,182,17,183,183 +getdents,141,78,78,141,PNR,PNR,141,76,76,141,141,141,141,PNR,141,141 +getdents64,220,217,217,217,61,61,219,308,299,201,201,202,202,61,220,220 +getegid,50,108,108,50,177,177,50,106,106,50,50,50,50,177,50,202 +getegid32,202,PNR,PNR,202,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,202,PNR +geteuid,49,107,107,49,175,175,49,105,105,49,49,49,49,175,49,201 +geteuid32,201,PNR,PNR,201,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,201,PNR +getgid,47,104,104,47,176,176,47,102,102,47,47,47,47,176,47,200 +getgid32,200,PNR,PNR,200,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,200,PNR +getgroups,80,115,115,80,158,158,80,113,113,80,80,80,80,158,80,205 +getgroups32,205,PNR,PNR,205,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,205,PNR +getitimer,105,36,36,105,102,102,105,35,35,105,105,105,105,102,105,105 +get_kernel_syms,130,177,PNR,PNR,PNR,PNR,130,170,170,PNR,PNR,130,130,PNR,130,130 +get_mempolicy,275,239,239,320,236,236,269,228,232,261,261,260,260,236,269,269 +getpeername,368,52,52,287,205,205,171,51,51,53,53,332,332,205,368,368 +getpgid,132,121,121,132,155,155,132,119,119,132,132,132,132,155,132,132 +getpgrp,65,111,111,65,PNR,PNR,65,109,109,65,65,65,65,PNR,65,65 +getpid,20,39,39,20,172,172,20,38,38,20,20,20,20,172,20,20 +getpmsg,188,181,181,PNR,PNR,PNR,208,174,174,PNR,PNR,187,187,PNR,188,188 +getppid,64,110,110,64,173,173,64,108,108,64,64,64,64,173,64,64 +getpriority,96,140,140,96,141,141,96,137,137,96,96,96,96,141,96,96 +getrandom,355,318,318,384,278,278,353,313,317,339,339,359,359,278,349,349 +getresgid,171,120,120,171,150,150,191,118,118,171,171,170,170,150,171,211 +getresgid32,211,PNR,PNR,211,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,211,PNR +getresuid,165,118,118,165,148,148,186,116,116,165,165,165,165,148,165,209 +getresuid32,209,PNR,PNR,209,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,209,PNR +getrlimit,76,97,97,PNR,163,PNR,76,95,95,76,76,76,76,163,76,191 +get_robust_list,312,274,531,339,100,100,310,269,273,290,290,299,299,100,305,305 +getrusage,77,98,98,77,165,165,77,96,96,77,77,77,77,165,77,77 +getsid,147,124,124,147,156,156,151,122,122,147,147,147,147,156,147,147 +getsockname,367,51,51,286,204,204,172,50,50,44,44,331,331,204,367,367 +getsockopt,365,55,542,295,209,209,173,54,54,182,182,340,340,209,365,365 +get_thread_area,244,211,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR +gettid,224,186,186,224,178,178,222,178,178,206,206,207,207,178,236,236 +gettimeofday,78,96,96,78,169,169,78,94,94,78,78,78,78,169,78,78 +get_tls,PNR,PNR,PNR,983046,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR +getuid,24,102,102,24,174,174,24,100,100,24,24,24,24,174,24,199 +getuid32,199,PNR,PNR,199,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,199,PNR +getxattr,229,191,191,229,8,8,227,183,183,241,241,212,212,8,227,227 +gtty,32,PNR,PNR,PNR,PNR,PNR,32,PNR,PNR,PNR,PNR,32,32,PNR,PNR,PNR +idle,112,PNR,PNR,PNR,PNR,PNR,112,PNR,PNR,PNR,PNR,112,112,PNR,112,112 +init_module,128,175,175,128,105,105,128,168,168,128,128,128,128,105,128,128 +inotify_add_watch,292,254,254,317,27,27,285,244,248,270,270,276,276,27,285,285 +inotify_init,291,253,253,316,PNR,PNR,284,243,247,269,269,275,275,PNR,284,284 +inotify_init1,332,294,294,360,26,26,329,288,292,314,314,318,318,26,324,324 +inotify_rm_watch,293,255,255,318,28,28,286,245,249,271,271,277,277,28,286,286 +io_cancel,249,210,210,247,3,3,245,204,204,219,219,231,231,3,247,247 +ioctl,54,16,514,54,29,29,54,15,15,54,54,54,54,29,54,54 +io_destroy,246,207,207,244,1,1,242,201,201,216,216,228,228,1,244,244 +io_getevents,247,208,208,245,4,4,243,202,202,217,217,229,229,4,245,245 +ioperm,101,173,173,PNR,PNR,PNR,101,PNR,PNR,PNR,PNR,101,101,PNR,101,PNR +io_pgetevents,385,333,333,399,292,292,368,328,332,350,350,388,388,292,382,382 +io_pgetevents_time64,416,PNR,PNR,416,PNR,PNR,416,PNR,416,416,PNR,416,PNR,PNR,416,PNR +iopl,110,172,172,PNR,PNR,PNR,110,PNR,PNR,PNR,PNR,110,110,PNR,PNR,PNR +ioprio_get,290,252,252,315,31,31,315,274,278,268,268,274,274,31,283,283 +ioprio_set,289,251,251,314,30,30,314,273,277,267,267,273,273,30,282,282 +io_setup,245,206,543,243,0,0,241,200,200,215,215,227,227,0,243,243 +io_submit,248,209,544,246,2,2,244,203,203,218,218,230,230,2,246,246 +io_uring_enter,426,426,426,426,426,426,426,426,426,426,426,426,426,426,426,426 +io_uring_register,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427 +io_uring_setup,425,425,425,425,425,425,425,425,425,425,425,425,425,425,425,425 +ipc,117,PNR,PNR,PNR,PNR,PNR,117,PNR,PNR,PNR,PNR,117,117,PNR,117,117 +kcmp,349,312,312,378,272,272,347,306,311,332,332,354,354,272,343,343 +kexec_file_load,PNR,320,320,401,294,294,PNR,PNR,PNR,355,355,382,382,294,381,381 +kexec_load,283,246,528,347,104,104,311,270,274,300,300,268,268,104,277,277 +keyctl,288,250,250,311,219,219,282,241,245,266,266,271,271,219,280,280 +kill,37,62,62,37,129,129,37,60,60,37,37,37,37,129,37,37 +landlock_add_rule,445,445,445,445,445,445,445,445,445,445,445,445,445,445,445,445 +landlock_create_ruleset,444,444,444,444,444,444,444,444,444,444,444,444,444,444,444,444 +landlock_restrict_self,446,446,446,446,446,446,446,446,446,446,446,446,446,446,446,446 +lchown,16,94,94,16,PNR,PNR,16,92,92,16,16,16,16,PNR,16,198 +lchown32,198,PNR,PNR,198,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,198,PNR +lgetxattr,230,192,192,230,9,9,228,184,184,242,242,213,213,9,228,228 +link,9,86,86,9,PNR,PNR,9,84,84,9,9,9,9,PNR,9,9 +linkat,303,265,265,330,37,37,296,255,259,283,283,294,294,37,296,296 +listen,363,50,50,284,201,201,174,49,49,32,32,329,329,201,363,363 +listxattr,232,194,194,232,11,11,230,186,186,244,244,215,215,11,230,230 +llistxattr,233,195,195,233,12,12,231,187,187,245,245,216,216,12,231,231 +_llseek,140,PNR,PNR,140,PNR,PNR,140,PNR,PNR,140,140,140,140,PNR,140,PNR +lock,53,PNR,PNR,PNR,PNR,PNR,53,PNR,PNR,PNR,PNR,53,53,PNR,PNR,PNR +lookup_dcookie,253,212,212,249,18,18,247,206,206,223,223,235,235,18,110,110 +lremovexattr,236,198,198,236,15,15,234,190,190,248,248,219,219,15,234,234 +lseek,19,8,8,19,62,62,19,8,8,19,19,19,19,62,19,19 +lsetxattr,227,189,189,227,6,6,225,181,181,239,239,210,210,6,225,225 +lstat,107,6,6,107,PNR,PNR,107,6,6,84,84,107,107,PNR,107,107 +lstat64,196,PNR,PNR,196,PNR,PNR,214,PNR,PNR,198,198,196,PNR,PNR,196,PNR +madvise,219,28,28,220,233,233,218,27,27,119,119,205,205,233,219,219 +map_shadow_stack,453,453,PNR,453,453,453,453,453,453,453,453,453,453,453,453,453 +mbind,274,237,237,319,235,235,268,227,231,260,260,259,259,235,268,268 +membarrier,375,324,324,389,283,283,358,318,322,343,343,365,365,283,356,356 +memfd_create,356,319,319,385,279,279,354,314,318,340,340,360,360,279,350,350 +memfd_secret,447,447,447,PNR,447,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,447,447,447 +migrate_pages,294,256,256,400,238,238,287,246,250,272,272,258,258,238,287,287 +mincore,218,27,27,219,232,232,217,26,26,72,72,206,206,232,218,218 +mkdir,39,83,83,39,PNR,PNR,39,81,81,39,39,39,39,PNR,39,39 +mkdirat,296,258,258,323,34,34,289,248,252,276,276,287,287,34,289,289 +mknod,14,133,133,14,PNR,PNR,14,131,131,14,14,14,14,PNR,14,14 +mknodat,297,259,259,324,33,33,290,249,253,277,277,288,288,33,290,290 +mlock,150,149,149,150,228,228,154,146,146,150,150,150,150,228,150,150 +mlock2,376,325,325,390,284,284,359,319,323,345,345,378,378,284,374,374 +mlockall,152,151,151,152,230,230,156,148,148,152,152,152,152,230,152,152 +mmap,90,9,9,PNR,222,222,90,9,9,90,90,90,90,222,90,90 +mmap2,192,PNR,PNR,192,PNR,PNR,210,PNR,PNR,89,89,192,PNR,PNR,192,PNR +modify_ldt,123,154,154,PNR,PNR,PNR,123,PNR,PNR,PNR,PNR,123,123,PNR,PNR,PNR +mount,21,165,165,21,40,40,21,160,160,21,21,21,21,40,21,21 +mount_setattr,442,442,442,442,442,442,442,442,442,442,442,442,442,442,442,442 +move_mount,429,429,429,429,429,429,429,429,429,429,429,429,429,429,429,429 +move_pages,317,279,533,344,239,239,308,267,271,295,295,301,301,239,310,310 +mprotect,125,10,10,125,226,226,125,10,10,125,125,125,125,226,125,125 +mpx,56,PNR,PNR,PNR,PNR,PNR,56,PNR,PNR,PNR,PNR,56,56,PNR,PNR,PNR +mq_getsetattr,282,245,245,279,185,185,276,235,239,234,234,267,267,185,276,276 +mq_notify,281,244,527,278,184,184,275,234,238,233,233,266,266,184,275,275 +mq_open,277,240,240,274,180,180,271,230,234,229,229,262,262,180,271,271 +mq_timedreceive,280,243,243,277,183,183,274,233,237,232,232,265,265,183,274,274 +mq_timedreceive_time64,419,PNR,PNR,419,PNR,PNR,419,PNR,419,419,PNR,419,PNR,PNR,419,PNR +mq_timedsend,279,242,242,276,182,182,273,232,236,231,231,264,264,182,273,273 +mq_timedsend_time64,418,PNR,PNR,418,PNR,PNR,418,PNR,418,418,PNR,418,PNR,PNR,418,PNR +mq_unlink,278,241,241,275,181,181,272,231,235,230,230,263,263,181,272,272 +mremap,163,25,25,163,216,216,167,24,24,163,163,163,163,216,163,163 +msgctl,402,71,71,304,187,187,402,69,69,191,191,402,402,187,402,402 +msgget,399,68,68,303,186,186,399,66,66,190,190,399,399,186,399,399 +msgrcv,401,70,70,302,188,188,401,68,68,189,189,401,401,188,401,401 +msgsnd,400,69,69,301,189,189,400,67,67,188,188,400,400,189,400,400 +msync,144,26,26,144,227,227,144,25,25,144,144,144,144,227,144,144 +multiplexer,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,201,201,PNR,PNR,PNR +munlock,151,150,150,151,229,229,155,147,147,151,151,151,151,229,151,151 +munlockall,153,152,152,153,231,231,157,149,149,153,153,153,153,231,153,153 +munmap,91,11,11,91,215,215,91,11,11,91,91,91,91,215,91,91 +name_to_handle_at,341,303,303,370,264,264,339,298,303,325,325,345,345,264,335,335 +nanosleep,162,35,35,162,101,101,166,34,34,162,162,162,162,101,162,162 +newfstatat,PNR,262,262,PNR,79,PNR,PNR,252,256,PNR,PNR,PNR,291,79,PNR,293 +_newselect,142,PNR,PNR,142,PNR,PNR,142,22,22,142,142,142,142,PNR,142,PNR +nfsservctl,169,180,PNR,169,42,42,189,173,173,PNR,PNR,168,168,42,169,169 +nice,34,PNR,PNR,34,PNR,PNR,34,PNR,PNR,34,34,34,34,PNR,34,34 +oldfstat,28,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,28,28,PNR,PNR,PNR +oldlstat,84,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,84,84,PNR,PNR,PNR +oldolduname,59,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,59,59,PNR,PNR,PNR +oldstat,18,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,18,18,PNR,PNR,PNR +olduname,109,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,109,109,PNR,PNR,PNR +open,5,2,2,5,PNR,PNR,5,2,2,5,5,5,5,PNR,5,5 +openat,295,257,257,322,56,56,288,247,251,275,275,286,286,56,288,288 +openat2,437,437,437,437,437,437,437,437,437,437,437,437,437,437,437,437 +open_by_handle_at,342,304,304,371,265,265,340,299,304,326,326,346,346,265,336,336 +open_tree,428,428,428,428,428,428,428,428,428,428,428,428,428,428,428,428 +pause,29,34,34,29,PNR,PNR,29,33,33,29,29,29,29,PNR,29,29 +pciconfig_iobase,PNR,PNR,PNR,271,PNR,PNR,PNR,PNR,PNR,PNR,PNR,200,200,PNR,PNR,PNR +pciconfig_read,PNR,PNR,PNR,272,PNR,PNR,PNR,PNR,PNR,PNR,PNR,198,198,PNR,PNR,PNR +pciconfig_write,PNR,PNR,PNR,273,PNR,PNR,PNR,PNR,PNR,PNR,PNR,199,199,PNR,PNR,PNR +perf_event_open,336,298,298,364,241,241,333,292,296,318,318,319,319,241,331,331 +personality,136,135,135,136,92,92,136,132,132,136,136,136,136,92,136,136 +pidfd_getfd,438,438,438,438,438,438,438,438,438,438,438,438,438,438,438,438 +pidfd_open,434,434,434,434,434,434,434,434,434,434,434,434,434,434,434,434 +pidfd_send_signal,424,424,424,424,424,424,424,424,424,424,424,424,424,424,424,424 +pipe,42,22,22,42,PNR,PNR,42,21,21,42,42,42,42,PNR,42,42 +pipe2,331,293,293,359,59,59,328,287,291,313,313,317,317,59,325,325 +pivot_root,217,155,155,218,41,41,216,151,151,67,67,203,203,41,217,217 +pkey_alloc,381,330,330,395,289,289,364,324,328,352,352,384,384,289,385,385 +pkey_free,382,331,331,396,290,290,365,325,329,353,353,385,385,290,386,386 +pkey_mprotect,380,329,329,394,288,288,363,323,327,351,351,386,386,288,384,384 +poll,168,7,7,168,PNR,PNR,188,7,7,168,168,167,167,PNR,168,168 +ppoll,309,271,271,336,73,73,302,261,265,274,274,281,281,73,302,302 +ppoll_time64,414,PNR,PNR,414,PNR,PNR,414,PNR,414,414,PNR,414,PNR,PNR,414,PNR +prctl,172,157,157,172,167,167,192,153,153,172,172,171,171,167,172,172 +pread64,180,17,17,180,67,67,200,16,16,108,108,179,179,67,180,180 +preadv,333,295,534,361,69,69,330,289,293,315,315,320,320,69,328,328 +preadv2,378,327,546,392,286,286,361,321,325,347,347,380,380,286,376,376 +prlimit64,340,302,302,369,261,261,338,297,302,321,321,325,325,261,334,334 +process_madvise,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440 +process_mrelease,448,448,448,448,448,448,448,448,448,448,448,448,448,448,448,448 +process_vm_readv,347,310,539,376,270,270,345,304,309,330,330,351,351,270,340,340 +process_vm_writev,348,311,540,377,271,271,346,305,310,331,331,352,352,271,341,341 +prof,44,PNR,PNR,PNR,PNR,PNR,44,PNR,PNR,PNR,PNR,44,44,PNR,PNR,PNR +profil,98,PNR,PNR,PNR,PNR,PNR,98,PNR,PNR,PNR,PNR,98,98,PNR,PNR,PNR +pselect6,308,270,270,335,72,72,301,260,264,273,273,280,280,72,301,301 +pselect6_time64,413,PNR,PNR,413,PNR,PNR,413,PNR,413,413,PNR,413,PNR,PNR,413,PNR +ptrace,26,101,521,26,117,117,26,99,99,26,26,26,26,117,26,26 +putpmsg,189,182,182,PNR,PNR,PNR,209,175,175,PNR,PNR,188,188,PNR,189,189 +pwrite64,181,18,18,181,68,68,201,17,17,109,109,180,180,68,181,181 +pwritev,334,296,535,362,70,70,331,290,294,316,316,321,321,70,329,329 +pwritev2,379,328,547,393,287,287,362,322,326,348,348,381,381,287,377,377 +query_module,167,178,PNR,PNR,PNR,PNR,187,171,171,PNR,PNR,166,166,PNR,167,167 +quotactl,131,179,179,131,60,60,131,172,172,131,131,131,131,60,131,131 +quotactl_fd,443,443,443,443,443,443,443,443,443,443,443,443,443,443,443,443 +read,3,0,0,3,63,63,3,0,0,3,3,3,3,63,3,3 +readahead,225,187,187,225,213,213,223,179,179,207,207,191,191,213,222,222 +readdir,89,PNR,PNR,PNR,PNR,PNR,89,PNR,PNR,PNR,PNR,89,89,PNR,89,89 +readlink,85,89,89,85,PNR,PNR,85,87,87,85,85,85,85,PNR,85,85 +readlinkat,305,267,267,332,78,78,298,257,261,285,285,296,296,78,298,298 +readv,145,19,515,145,65,65,145,18,18,145,145,145,145,65,145,145 +reboot,88,169,169,88,142,142,88,164,164,88,88,88,88,142,88,88 +recv,PNR,PNR,PNR,291,PNR,PNR,175,PNR,PNR,98,98,336,336,PNR,PNR,PNR +recvfrom,371,45,517,292,207,207,176,44,44,123,123,337,337,207,371,371 +recvmmsg,337,299,537,365,243,243,335,294,298,319,319,343,343,243,357,357 +recvmmsg_time64,417,PNR,PNR,417,PNR,PNR,417,PNR,417,417,PNR,417,PNR,PNR,417,PNR +recvmsg,372,47,519,297,212,212,177,46,46,184,184,342,342,212,372,372 +remap_file_pages,257,216,216,253,234,234,251,210,210,227,227,239,239,234,267,267 +removexattr,235,197,197,235,14,14,233,189,189,247,247,218,218,14,233,233 +rename,38,82,82,38,PNR,PNR,38,80,80,38,38,38,38,PNR,38,38 +renameat,302,264,264,329,38,PNR,295,254,258,282,282,293,293,PNR,295,295 +renameat2,353,316,316,382,276,276,351,311,315,337,337,357,357,276,347,347 +request_key,287,249,249,310,218,218,281,240,244,265,265,270,270,218,279,279 +restart_syscall,0,219,219,0,128,128,253,213,214,0,0,0,0,128,7,7 +riscv_flush_icache,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,259,PNR,PNR +rmdir,40,84,84,40,PNR,PNR,40,82,82,40,40,40,40,PNR,40,40 +rseq,386,334,334,398,293,293,367,327,331,354,354,387,387,293,383,383 +rtas,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,255,255,PNR,PNR,PNR +rt_sigaction,174,13,512,174,134,134,194,13,13,174,174,173,173,134,174,174 +rt_sigpending,176,127,522,176,136,136,196,125,125,176,176,175,175,136,176,176 +rt_sigprocmask,175,14,14,175,135,135,195,14,14,175,175,174,174,135,175,175 +rt_sigqueueinfo,178,129,524,178,138,138,198,127,127,178,178,177,177,138,178,178 +rt_sigreturn,173,15,513,173,139,139,193,211,211,173,173,172,172,139,173,173 +rt_sigsuspend,179,130,130,179,133,133,199,128,128,179,179,178,178,133,179,179 +rt_sigtimedwait,177,128,523,177,137,137,197,126,126,177,177,176,176,137,177,177 +rt_sigtimedwait_time64,421,PNR,PNR,421,PNR,PNR,421,PNR,421,421,PNR,421,PNR,PNR,421,PNR +rt_tgsigqueueinfo,335,297,536,363,240,240,332,291,295,317,317,322,322,240,330,330 +s390_guarded_storage,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,378,378 +s390_pci_mmio_read,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,353,353 +s390_pci_mmio_write,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,352,352 +s390_runtime_instr,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,342,342 +s390_sthyi,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,380,380 +sched_getaffinity,242,204,204,242,123,123,240,196,196,212,212,223,223,123,240,240 +sched_getattr,352,315,315,381,275,275,350,310,314,335,335,356,356,275,346,346 +sched_getparam,155,143,143,155,121,121,159,140,140,155,155,155,155,121,155,155 +sched_get_priority_max,159,146,146,159,125,125,163,143,143,159,159,159,159,125,159,159 +sched_get_priority_min,160,147,147,160,126,126,164,144,144,160,160,160,160,126,160,160 +sched_getscheduler,157,145,145,157,120,120,161,142,142,157,157,157,157,120,157,157 +sched_rr_get_interval,161,148,148,161,127,127,165,145,145,161,161,161,161,127,161,161 +sched_rr_get_interval_time64,423,PNR,PNR,423,PNR,PNR,423,PNR,423,423,PNR,423,PNR,PNR,423,PNR +sched_setaffinity,241,203,203,241,122,122,239,195,195,211,211,222,222,122,239,239 +sched_setattr,351,314,314,380,274,274,349,309,313,334,334,355,355,274,345,345 +sched_setparam,154,142,142,154,118,118,158,139,139,154,154,154,154,118,154,154 +sched_setscheduler,156,144,144,156,119,119,160,141,141,156,156,156,156,119,156,156 +sched_yield,158,24,24,158,124,124,162,23,23,158,158,158,158,124,158,158 +seccomp,354,317,317,383,277,277,352,312,316,338,338,358,358,277,348,348 +security,PNR,185,185,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR +select,82,23,23,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,82,82,PNR,PNR,142 +semctl,394,66,66,300,191,191,394,64,64,187,187,394,394,191,394,394 +semget,393,64,64,299,190,190,393,62,62,186,186,393,393,190,393,393 +semop,PNR,65,65,298,193,193,PNR,63,63,185,185,PNR,PNR,193,PNR,PNR +semtimedop,PNR,220,220,312,192,192,PNR,214,215,228,228,PNR,392,192,PNR,392 +semtimedop_time64,420,PNR,PNR,420,PNR,PNR,420,PNR,420,420,PNR,420,PNR,PNR,420,PNR +send,PNR,PNR,PNR,289,PNR,PNR,178,PNR,PNR,58,58,334,334,PNR,PNR,PNR +sendfile,187,40,40,187,71,71,207,39,39,122,122,186,186,71,187,187 +sendfile64,239,PNR,PNR,239,PNR,PNR,237,PNR,219,209,209,226,PNR,PNR,223,PNR +sendmmsg,345,307,538,374,269,269,343,302,307,329,329,349,349,269,358,358 +sendmsg,370,46,518,296,211,211,179,45,45,183,183,341,341,211,370,370 +sendto,369,44,44,290,206,206,180,43,43,82,82,335,335,206,369,369 +setdomainname,121,171,171,121,162,162,121,166,166,121,121,121,121,162,121,121 +setfsgid,139,123,123,139,152,152,139,121,121,139,139,139,139,152,139,216 +setfsgid32,216,PNR,PNR,216,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,216,PNR +setfsuid,138,122,122,138,151,151,138,120,120,138,138,138,138,151,138,215 +setfsuid32,215,PNR,PNR,215,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,215,PNR +setgid,46,106,106,46,144,144,46,104,104,46,46,46,46,144,46,214 +setgid32,214,PNR,PNR,214,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,214,PNR +setgroups,81,116,116,81,159,159,81,114,114,81,81,81,81,159,81,206 +setgroups32,206,PNR,PNR,206,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,206,PNR +sethostname,74,170,170,74,161,161,74,165,165,74,74,74,74,161,74,74 +setitimer,104,38,38,104,103,103,104,36,36,104,104,104,104,103,104,104 +set_mempolicy,276,238,238,321,237,237,270,229,233,262,262,261,261,237,270,270 +set_mempolicy_home_node,450,450,450,450,450,450,450,450,450,450,450,450,450,450,450,450 +setns,346,308,308,375,268,268,344,303,308,328,328,350,350,268,339,339 +setpgid,57,109,109,57,154,154,57,107,107,57,57,57,57,154,57,57 +setpriority,97,141,141,97,140,140,97,138,138,97,97,97,97,140,97,97 +setregid,71,114,114,71,143,143,71,112,112,71,71,71,71,143,71,204 +setregid32,204,PNR,PNR,204,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,204,PNR +setresgid,170,119,119,170,149,149,190,117,117,170,170,169,169,149,170,210 +setresgid32,210,PNR,PNR,210,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,210,PNR +setresuid,164,117,117,164,147,147,185,115,115,164,164,164,164,147,164,208 +setresuid32,208,PNR,PNR,208,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,208,PNR +setreuid,70,113,113,70,145,145,70,111,111,70,70,70,70,145,70,203 +setreuid32,203,PNR,PNR,203,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,203,PNR +setrlimit,75,160,160,75,164,PNR,75,155,155,75,75,75,75,164,75,75 +set_robust_list,311,273,530,338,99,99,309,268,272,289,289,300,300,99,304,304 +setsid,66,112,112,66,157,157,66,110,110,66,66,66,66,157,66,66 +setsockopt,366,54,541,294,208,208,181,53,53,181,181,339,339,208,366,366 +set_thread_area,243,205,PNR,PNR,PNR,PNR,283,242,246,PNR,PNR,PNR,PNR,PNR,PNR,PNR +set_tid_address,258,218,218,256,96,96,252,212,213,237,237,232,232,96,252,252 +settimeofday,79,164,164,79,170,170,79,159,159,79,79,79,79,170,79,79 +set_tls,PNR,PNR,PNR,983045,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR +setuid,23,105,105,23,146,146,23,103,103,23,23,23,23,146,23,213 +setuid32,213,PNR,PNR,213,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,213,PNR +setxattr,226,188,188,226,5,5,224,180,180,238,238,209,209,5,224,224 +sgetmask,68,PNR,PNR,PNR,PNR,PNR,68,PNR,PNR,68,68,68,68,PNR,PNR,PNR +shmat,397,30,30,305,196,196,397,29,29,192,192,397,397,196,397,397 +shmctl,396,31,31,308,195,195,396,30,30,195,195,396,396,195,396,396 +shmdt,398,67,67,306,197,197,398,65,65,193,193,398,398,197,398,398 +shmget,395,29,29,307,194,194,395,28,28,194,194,395,395,194,395,395 +shutdown,373,48,48,293,210,210,182,47,47,117,117,338,338,210,373,373 +sigaction,67,PNR,PNR,67,PNR,PNR,67,PNR,PNR,PNR,PNR,67,67,PNR,67,67 +sigaltstack,186,131,525,186,132,132,206,129,129,166,166,185,185,132,186,186 +signal,48,PNR,PNR,PNR,PNR,PNR,48,PNR,PNR,48,48,48,48,PNR,48,48 +signalfd,321,282,282,349,PNR,PNR,317,276,280,302,302,305,305,PNR,316,316 +signalfd4,327,289,289,355,74,74,324,283,287,309,309,313,313,74,322,322 +sigpending,73,PNR,PNR,73,PNR,PNR,73,PNR,PNR,73,73,73,73,PNR,73,73 +sigprocmask,126,PNR,PNR,126,PNR,PNR,126,PNR,PNR,126,126,126,126,PNR,126,126 +sigreturn,119,PNR,PNR,119,PNR,PNR,119,PNR,PNR,PNR,PNR,119,119,PNR,119,119 +sigsuspend,72,PNR,PNR,72,PNR,PNR,72,PNR,PNR,PNR,PNR,72,72,PNR,72,72 +socket,359,41,41,281,198,198,183,40,40,17,17,326,326,198,359,359 +socketcall,102,PNR,PNR,PNR,PNR,PNR,102,PNR,PNR,PNR,PNR,102,102,PNR,102,102 +socketpair,360,53,53,288,199,199,184,52,52,56,56,333,333,199,360,360 +splice,313,275,275,340,76,76,304,263,267,291,291,283,283,76,306,306 +spu_create,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,279,279,PNR,PNR,PNR +spu_run,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,278,278,PNR,PNR,PNR +ssetmask,69,PNR,PNR,PNR,PNR,PNR,69,PNR,PNR,69,69,69,69,PNR,PNR,PNR +stat,106,4,4,106,PNR,PNR,106,4,4,18,18,106,106,PNR,106,106 +stat64,195,PNR,PNR,195,PNR,PNR,213,PNR,PNR,101,101,195,PNR,PNR,195,PNR +statfs,99,137,137,99,43,43,99,134,134,99,99,99,99,43,99,99 +statfs64,268,PNR,PNR,266,PNR,PNR,255,PNR,217,298,298,252,252,PNR,265,265 +statx,383,332,332,397,291,291,366,326,330,349,349,383,383,291,379,379 +stime,25,PNR,PNR,PNR,PNR,PNR,25,PNR,PNR,25,25,25,25,PNR,25,PNR +stty,31,PNR,PNR,PNR,PNR,PNR,31,PNR,PNR,PNR,PNR,31,31,PNR,PNR,PNR +subpage_prot,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,310,310,PNR,PNR,PNR +swapcontext,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,249,249,PNR,PNR,PNR +swapoff,115,168,168,115,225,225,115,163,163,115,115,115,115,225,115,115 +swapon,87,167,167,87,224,224,87,162,162,87,87,87,87,224,87,87 +switch_endian,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,363,363,PNR,PNR,PNR +symlink,83,88,88,83,PNR,PNR,83,86,86,83,83,83,83,PNR,83,83 +symlinkat,304,266,266,331,36,36,297,256,260,284,284,295,295,36,297,297 +sync,36,162,162,36,81,81,36,157,157,36,36,36,36,81,36,36 +sync_file_range,314,277,277,PNR,84,84,305,264,268,292,292,PNR,PNR,84,307,307 +sync_file_range2,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,308,308,PNR,PNR,PNR +syncfs,344,306,306,373,267,267,342,301,306,327,327,348,348,267,338,338 +syscall,PNR,PNR,PNR,PNR,PNR,PNR,0,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR +_sysctl,149,156,PNR,149,PNR,PNR,153,152,152,149,149,149,149,PNR,149,149 +sys_debug_setcontext,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,256,256,PNR,PNR,PNR +sysfs,135,139,139,135,PNR,PNR,135,136,136,135,135,135,135,PNR,135,135 +sysinfo,116,99,99,116,179,179,116,97,97,116,116,116,116,179,116,116 +syslog,103,103,103,103,116,116,103,101,101,103,103,103,103,116,103,103 +sysmips,PNR,PNR,PNR,PNR,PNR,PNR,149,199,199,PNR,PNR,PNR,PNR,PNR,PNR,PNR +tee,315,276,276,342,77,77,306,265,269,293,293,284,284,77,308,308 +tgkill,270,234,234,268,131,131,266,225,229,259,259,250,250,131,241,241 +time,13,201,201,PNR,PNR,PNR,13,PNR,PNR,13,13,13,13,PNR,13,PNR +timer_create,259,222,526,257,107,107,257,216,220,250,250,240,240,107,254,254 +timer_delete,263,226,226,261,111,111,261,220,224,254,254,244,244,111,258,258 +timerfd,PNR,PNR,PNR,PNR,PNR,PNR,318,277,281,PNR,PNR,PNR,PNR,PNR,317,317 +timerfd_create,322,283,283,350,85,85,321,280,284,306,306,306,306,85,319,319 +timerfd_gettime,326,287,287,354,87,87,322,281,285,308,308,312,312,87,321,321 +timerfd_gettime64,410,PNR,PNR,410,PNR,PNR,410,PNR,410,410,PNR,410,PNR,PNR,410,PNR +timerfd_settime,325,286,286,353,86,86,323,282,286,307,307,311,311,86,320,320 +timerfd_settime64,411,PNR,PNR,411,PNR,PNR,411,PNR,411,411,PNR,411,PNR,PNR,411,PNR +timer_getoverrun,262,225,225,260,109,109,260,219,223,253,253,243,243,109,257,257 +timer_gettime,261,224,224,259,108,108,259,218,222,252,252,242,242,108,256,256 +timer_gettime64,408,PNR,PNR,408,PNR,PNR,408,PNR,408,408,PNR,408,PNR,PNR,408,PNR +timer_settime,260,223,223,258,110,110,258,217,221,251,251,241,241,110,255,255 +timer_settime64,409,PNR,PNR,409,PNR,PNR,409,PNR,409,409,PNR,409,PNR,PNR,409,PNR +times,43,100,100,43,153,153,43,98,98,43,43,43,43,153,43,43 +tkill,238,200,200,238,130,130,236,192,192,208,208,208,208,130,237,237 +truncate,92,76,76,92,45,45,92,74,74,92,92,92,92,45,92,92 +truncate64,193,PNR,PNR,193,PNR,PNR,211,PNR,PNR,199,199,193,PNR,PNR,193,PNR +tuxcall,PNR,184,184,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,225,225,PNR,PNR,PNR +ugetrlimit,191,PNR,PNR,191,PNR,PNR,PNR,PNR,PNR,PNR,PNR,190,190,PNR,191,PNR +ulimit,58,PNR,PNR,PNR,PNR,PNR,58,PNR,PNR,PNR,PNR,58,58,PNR,PNR,PNR +umask,60,95,95,60,166,166,60,93,93,60,60,60,60,166,60,60 +umount,22,PNR,PNR,PNR,PNR,PNR,22,PNR,PNR,PNR,PNR,22,22,PNR,22,22 +umount2,52,166,166,52,39,39,52,161,161,52,52,52,52,39,52,52 +uname,122,63,63,122,160,160,122,61,61,59,59,122,122,160,122,122 +unlink,10,87,87,10,PNR,PNR,10,85,85,10,10,10,10,PNR,10,10 +unlinkat,301,263,263,328,35,35,294,253,257,281,281,292,292,35,294,294 +unshare,310,272,272,337,97,97,303,262,266,288,288,282,282,97,303,303 +uselib,86,134,PNR,86,PNR,PNR,86,PNR,PNR,86,86,86,86,PNR,86,86 +userfaultfd,374,323,323,388,282,282,357,317,321,344,344,364,364,282,355,355 +usr26,PNR,PNR,PNR,983043,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR +usr32,PNR,PNR,PNR,983044,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR +ustat,62,136,136,62,PNR,PNR,62,133,133,62,62,62,62,PNR,62,62 +utime,30,132,132,PNR,PNR,PNR,30,130,130,30,30,30,30,PNR,30,30 +utimensat,320,280,280,348,88,88,316,275,279,301,301,304,304,88,315,315 +utimensat_time64,412,PNR,PNR,412,PNR,PNR,412,PNR,412,412,PNR,412,PNR,PNR,412,PNR +utimes,271,235,235,269,PNR,PNR,267,226,230,336,336,251,251,PNR,313,313 +vfork,190,58,58,190,PNR,PNR,PNR,PNR,PNR,113,113,189,189,PNR,190,190 +vhangup,111,153,153,111,58,58,111,150,150,111,111,111,111,58,111,111 +vm86,166,PNR,PNR,PNR,PNR,PNR,113,PNR,PNR,PNR,PNR,113,113,PNR,PNR,PNR +vm86old,113,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR +vmsplice,316,278,532,343,75,75,307,266,270,294,294,285,285,75,309,309 +vserver,273,236,PNR,313,PNR,PNR,277,236,240,PNR,PNR,PNR,PNR,PNR,PNR,PNR +wait4,114,61,61,114,260,260,114,59,59,114,114,114,114,260,114,114 +waitid,284,247,529,280,95,95,278,237,241,235,235,272,272,95,281,281 +waitpid,7,PNR,PNR,PNR,PNR,PNR,7,PNR,PNR,7,7,7,7,PNR,PNR,PNR +write,4,1,1,4,64,64,4,1,1,4,4,4,4,64,4,4 +writev,146,20,516,146,66,66,146,19,19,146,146,146,146,66,146,146 From 5ab3a4f9b2a0292a2aef7f2fe2cd774a9dce5528 Mon Sep 17 00:00:00 2001 From: Xiaotian Wu Date: Sun, 23 Oct 2022 14:36:42 +0800 Subject: [PATCH 02/10] tests: add fstatfs() syscall in the 06-sim-actions Signed-off-by: Xiaotian Wu Acked-by: Tom Hromatka Signed-off-by: Paul Moore (cherry-picked from commit 315f7b9ec6d8992035a2c0f652949ee34843db32) --- tests/06-sim-actions.c | 2 +- tests/06-sim-actions.tests | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/06-sim-actions.c b/tests/06-sim-actions.c index da636c94..56a60fda 100644 --- a/tests/06-sim-actions.c +++ b/tests/06-sim-actions.c @@ -64,7 +64,7 @@ int main(int argc, char *argv[]) if (rc != 0) goto out; - rc = seccomp_rule_add(ctx, SCMP_ACT_KILL_PROCESS, SCMP_SYS(fstat), 0); + rc = seccomp_rule_add(ctx, SCMP_ACT_KILL_PROCESS, SCMP_SYS(fstatfs), 0); if (rc != 0) goto out; diff --git a/tests/06-sim-actions.tests b/tests/06-sim-actions.tests index 1ef38b32..6d791f07 100644 --- a/tests/06-sim-actions.tests +++ b/tests/06-sim-actions.tests @@ -12,7 +12,7 @@ test type: bpf-sim 06-sim-actions all write 1 0x856B008 N N N N ERRNO(1) 06-sim-actions all close 4 N N N N N TRAP 06-sim-actions all openat 0 0x856B008 4 N N N TRACE(1234) -06-sim-actions all fstat N N N N N N KILL_PROCESS +06-sim-actions all fstatfs 4 0x856B008 N N N N KILL_PROCESS 06-sim-actions all rt_sigreturn N N N N N N LOG 06-sim-actions x86 0-2 N N N N N N KILL 06-sim-actions x86 7-107 N N N N N N KILL From 8737b1ae02a2c057fd3c3332132fa1160c975f6c Mon Sep 17 00:00:00 2001 From: Xiaotian Wu Date: Tue, 9 Feb 2021 15:39:13 +0800 Subject: [PATCH 03/10] arch: Add 64-bit LoongArch support [xen0n: remove kver mechanism for v2.5.x branch] Signed-off-by: Xiaotian Wu Signed-off-by: WANG Xuerui Acked-by: Tom Hromatka Signed-off-by: Paul Moore (cherry-picked from commit 6966ec77b195ac289ae168c7c5646d59a307f33f) --- include/seccomp.h.in | 12 ++++++++++ src/Makefile.am | 1 + src/arch-loongarch64.c | 40 +++++++++++++++++++++++++++++++ src/arch-loongarch64.h | 28 ++++++++++++++++++++++ src/arch-syscall-dump.c | 4 ++++ src/arch-syscall-validate | 50 +++++++++++++++++++++++++++++++++++++++ src/arch.c | 7 ++++++ src/gen_pfc.c | 2 ++ src/python/libseccomp.pxd | 1 + src/python/seccomp.pyx | 4 ++++ src/syscalls.h | 2 ++ src/system.c | 1 + tools/scmp_arch_detect.c | 3 +++ tools/scmp_bpf_disasm.c | 2 ++ tools/scmp_bpf_sim.c | 2 ++ tools/util.c | 2 ++ tools/util.h | 11 +++++++++ 17 files changed, 172 insertions(+) create mode 100644 src/arch-loongarch64.c create mode 100644 src/arch-loongarch64.h diff --git a/include/seccomp.h.in b/include/seccomp.h.in index ef4c6e4d..0a3ffae1 100644 --- a/include/seccomp.h.in +++ b/include/seccomp.h.in @@ -150,6 +150,18 @@ struct scmp_arg_cmp { #endif /* AUDIT_ARCH_AARCH64 */ #define SCMP_ARCH_AARCH64 AUDIT_ARCH_AARCH64 +/** + * The LoongArch architecture tokens + */ +/* 64-bit LoongArch audit support is upstream as of 5.19-rc1 */ +#ifndef AUDIT_ARCH_LOONGARCH64 +#ifndef EM_LOONGARCH +#define EM_LOONGARCH 258 +#endif /* EM_LOONGARCH */ +#define AUDIT_ARCH_LOONGARCH64 (EM_LOONGARCH|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE) +#endif /* AUDIT_ARCH_LOONGARCH64 */ +#define SCMP_ARCH_LOONGARCH64 AUDIT_ARCH_LOONGARCH64 + /** * The MIPS architecture tokens */ diff --git a/src/Makefile.am b/src/Makefile.am index 1e5c092b..cc1652dd 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -32,6 +32,7 @@ SOURCES_ALL = \ arch-x32.h arch-x32.c \ arch-arm.h arch-arm.c \ arch-aarch64.h arch-aarch64.c \ + arch-loongarch64.h arch-loongarch64.c \ arch-mips.h arch-mips.c \ arch-mips64.h arch-mips64.c \ arch-mips64n32.h arch-mips64n32.c \ diff --git a/src/arch-loongarch64.c b/src/arch-loongarch64.c new file mode 100644 index 00000000..87a7d9dc --- /dev/null +++ b/src/arch-loongarch64.c @@ -0,0 +1,40 @@ +/** + * Enhanced Seccomp 64-bit LoongArch Syscall Table + * + * Copyright (c) 2021 Xiaotian Wu + */ + +/* + * This library is free software; you can redistribute it and/or modify it + * under the terms of version 2.1 of the GNU Lesser General Public License as + * published by the Free Software Foundation. + * + * This library is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License + * for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library; if not, see . + */ + +#include +#include +#include + +#include "arch.h" +#include "arch-loongarch64.h" +#include "syscalls.h" + +ARCH_DEF(loongarch64) + +const struct arch_def arch_def_loongarch64 = { + .token = SCMP_ARCH_LOONGARCH64, + .token_bpf = AUDIT_ARCH_LOONGARCH64, + .size = ARCH_SIZE_64, + .endian = ARCH_ENDIAN_LITTLE, + .syscall_resolve_name_raw = loongarch64_syscall_resolve_name, + .syscall_resolve_num_raw = loongarch64_syscall_resolve_num, + .syscall_rewrite = NULL, + .rule_add = NULL, +}; diff --git a/src/arch-loongarch64.h b/src/arch-loongarch64.h new file mode 100644 index 00000000..c3c06af7 --- /dev/null +++ b/src/arch-loongarch64.h @@ -0,0 +1,28 @@ +/** + * Enhanced Seccomp 64-bit LoongArch Syscall Table + * + * Copyright (c) 2021 Xiaotian Wu + */ + +/* + * This library is free software; you can redistribute it and/or modify it + * under the terms of version 2.1 of the GNU Lesser General Public License as + * published by the Free Software Foundation. + * + * This library is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License + * for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library; if not, see . + */ + +#ifndef _ARCH_LOONGARCH64_H +#define _ARCH_LOONGARCH64_H + +#include "arch.h" + +ARCH_DECL(loongarch64) + +#endif diff --git a/src/arch-syscall-dump.c b/src/arch-syscall-dump.c index 2055d342..cc76e2c0 100644 --- a/src/arch-syscall-dump.c +++ b/src/arch-syscall-dump.c @@ -34,6 +34,7 @@ #include "arch-x86_64.h" #include "arch-x32.h" #include "arch-arm.h" +#include "arch-loongarch64.h" #include "arch-mips.h" #include "arch-mips64.h" #include "arch-mips64n32.h" @@ -106,6 +107,9 @@ int main(int argc, char *argv[]) case SCMP_ARCH_AARCH64: sys = aarch64_syscall_iterate(iter); break; + case SCMP_ARCH_LOONGARCH64: + sys = loongarch64_syscall_iterate(iter); + break; case SCMP_ARCH_MIPS: case SCMP_ARCH_MIPSEL: sys = mips_syscall_iterate(iter); diff --git a/src/arch-syscall-validate b/src/arch-syscall-validate index 3b69e9b2..efbf2216 100755 --- a/src/arch-syscall-validate +++ b/src/arch-syscall-validate @@ -305,6 +305,48 @@ function dump_lib_aarch64() { dump_lib_arch aarch64 | mangle_lib_syscall aarch64 } +# +# Dump the loongarch64 syscall table +# +# Arguments: +# 1 path to the kernel source +# +# Dump the architecture's syscall table to stdout. +# +function dump_sys_loongarch64() { + local sed_filter="" + + sed_filter+='s/__NR3264_fadvise64/223/;' + sed_filter+='s/__NR3264_fcntl/25/;' + sed_filter+='s/__NR3264_fstatfs/44/;' + sed_filter+='s/__NR3264_ftruncate/46/;' + sed_filter+='s/__NR3264_lseek/62/;' + sed_filter+='s/__NR3264_mmap/222/;' + sed_filter+='s/__NR3264_sendfile/71/;' + sed_filter+='s/__NR3264_statfs/43/;' + sed_filter+='s/__NR3264_truncate/45/;' + + gcc -E -dM -I$1/include/uapi \ + -D__BITS_PER_LONG=64 \ + -D__ARCH_WANT_SYS_CLONE \ + -D__ARCH_WANT_SYS_CLONE3 \ + $1/arch/loongarch/include/uapi/asm/unistd.h | \ + grep "^#define __NR_" | \ + sed '/__NR_syscalls/d' | \ + sed '/__NR_arch_specific_syscall/d' | \ + sed 's/#define[ \t]\+__NR_\([^ \t]\+\)[ \t]\+\(.*\)/\1,\2/' | \ + sed $sed_filter | sort +} + +# +# Dump the loongarch64 library syscall table +# +# Dump the library's syscall table to stdout. +# +function dump_lib_loongarch64() { + dump_lib_arch loongarch64 | mangle_lib_syscall loongarch64 +} + # # Dump the mips system syscall table # @@ -593,6 +635,9 @@ function dump_sys() { aarch64) dump_sys_aarch64 "$2" ;; + loongarch64) + dump_sys_loongarch64 "$2" + ;; mips) dump_sys_mips "$2" ;; @@ -657,6 +702,9 @@ function dump_lib() { aarch64) dump_lib_aarch64 ;; + loongarch64) + dump_lib_loongarch64 + ;; mips) dump_lib_mips ;; @@ -717,6 +765,7 @@ function gen_csv() { abi_list="" abi_list+=" x86 x86_64 x32" abi_list+=" arm aarch64" + abi_list+=" loongarch64" abi_list+=" mips mips64 mips64n32" abi_list+=" parisc parisc64" abi_list+=" ppc ppc64" @@ -806,6 +855,7 @@ if [[ $opt_arches == "" ]]; then opt_arches=" \ x86 x86_64 x32 \ arm aarch64 \ + loongarch64 \ mips mips64 mips64n32 \ parisc parisc64 \ ppc ppc64 \ diff --git a/src/arch.c b/src/arch.c index 8ef77b1a..8c5363a8 100644 --- a/src/arch.c +++ b/src/arch.c @@ -35,6 +35,7 @@ #include "arch-x32.h" #include "arch-arm.h" #include "arch-aarch64.h" +#include "arch-loongarch64.h" #include "arch-mips.h" #include "arch-mips64.h" #include "arch-mips64n32.h" @@ -62,6 +63,8 @@ const struct arch_def *arch_def_native = &arch_def_x86_64; const struct arch_def *arch_def_native = &arch_def_arm; #elif __aarch64__ const struct arch_def *arch_def_native = &arch_def_aarch64; +#elif __loongarch64 +const struct arch_def *arch_def_native = &arch_def_loongarch64; #elif __mips__ && _MIPS_SIM == _MIPS_SIM_ABI32 #if __MIPSEB__ const struct arch_def *arch_def_native = &arch_def_mips; @@ -134,6 +137,8 @@ const struct arch_def *arch_def_lookup(uint32_t token) return &arch_def_arm; case SCMP_ARCH_AARCH64: return &arch_def_aarch64; + case SCMP_ARCH_LOONGARCH64: + return &arch_def_loongarch64; case SCMP_ARCH_MIPS: return &arch_def_mips; case SCMP_ARCH_MIPSEL: @@ -186,6 +191,8 @@ const struct arch_def *arch_def_lookup_name(const char *arch_name) return &arch_def_arm; else if (strcmp(arch_name, "aarch64") == 0) return &arch_def_aarch64; + else if (strcmp(arch_name, "loongarch64") == 0) + return &arch_def_loongarch64; else if (strcmp(arch_name, "mips") == 0) return &arch_def_mips; else if (strcmp(arch_name, "mipsel") == 0) diff --git a/src/gen_pfc.c b/src/gen_pfc.c index d58f586f..f7ae4e45 100644 --- a/src/gen_pfc.c +++ b/src/gen_pfc.c @@ -61,6 +61,8 @@ static const char *_pfc_arch(const struct arch_def *arch) return "arm"; case SCMP_ARCH_AARCH64: return "aarch64"; + case SCMP_ARCH_LOONGARCH64: + return "loongarch64"; case SCMP_ARCH_MIPS: return "mips"; case SCMP_ARCH_MIPSEL: diff --git a/src/python/libseccomp.pxd b/src/python/libseccomp.pxd index 0629bf1e..280143ff 100644 --- a/src/python/libseccomp.pxd +++ b/src/python/libseccomp.pxd @@ -38,6 +38,7 @@ cdef extern from "seccomp.h": SCMP_ARCH_X32 SCMP_ARCH_ARM SCMP_ARCH_AARCH64 + SCMP_ARCH_LOONGARCH64 SCMP_ARCH_MIPS SCMP_ARCH_MIPS64 SCMP_ARCH_MIPS64N32 diff --git a/src/python/seccomp.pyx b/src/python/seccomp.pyx index 2eeabc17..9e08cfd3 100644 --- a/src/python/seccomp.pyx +++ b/src/python/seccomp.pyx @@ -204,6 +204,7 @@ cdef class Arch: X32 - 64-bit x86 using the x32 ABI ARM - ARM AARCH64 - 64-bit ARM + LOONGARCH64 - 64-bit LoongArch MIPS - MIPS O32 ABI MIPS64 - MIPS 64-bit ABI MIPS64N32 - MIPS N32 ABI @@ -225,6 +226,7 @@ cdef class Arch: X32 = libseccomp.SCMP_ARCH_X32 ARM = libseccomp.SCMP_ARCH_ARM AARCH64 = libseccomp.SCMP_ARCH_AARCH64 + LOONGARCH64 = libseccomp.SCMP_ARCH_LOONGARCH64 MIPS = libseccomp.SCMP_ARCH_MIPS MIPS64 = libseccomp.SCMP_ARCH_MIPS64 MIPS64N32 = libseccomp.SCMP_ARCH_MIPS64N32 @@ -262,6 +264,8 @@ cdef class Arch: self._token = libseccomp.SCMP_ARCH_ARM elif arch == libseccomp.SCMP_ARCH_AARCH64: self._token = libseccomp.SCMP_ARCH_AARCH64 + elif arch == libseccomp.SCMP_ARCH_LOONGARCH64: + self._token = libseccomp.SCMP_ARCH_LOONGARCH64 elif arch == libseccomp.SCMP_ARCH_MIPS: self._token = libseccomp.SCMP_ARCH_MIPS elif arch == libseccomp.SCMP_ARCH_MIPS64: diff --git a/src/syscalls.h b/src/syscalls.h index af468a10..2617563f 100644 --- a/src/syscalls.h +++ b/src/syscalls.h @@ -14,6 +14,7 @@ #include "arch-aarch64.h" #include "arch-arm.h" #include "arch.h" +#include "arch-loongarch64.h" #include "arch-mips64.h" #include "arch-mips64n32.h" #include "arch-mips.h" @@ -41,6 +42,7 @@ struct arch_syscall_table { int x32; int arm; int aarch64; + int loongarch64; int mips; int mips64; int mips64n32; diff --git a/src/system.c b/src/system.c index ae445bf5..94e9be7c 100644 --- a/src/system.c +++ b/src/system.c @@ -126,6 +126,7 @@ int sys_chk_seccomp_syscall(void) case SCMP_ARCH_X86_64: case SCMP_ARCH_ARM: case SCMP_ARCH_AARCH64: + case SCMP_ARCH_LOONGARCH64: case SCMP_ARCH_PPC64: case SCMP_ARCH_PPC64LE: case SCMP_ARCH_S390: diff --git a/tools/scmp_arch_detect.c b/tools/scmp_arch_detect.c index b844a682..320b1afa 100644 --- a/tools/scmp_arch_detect.c +++ b/tools/scmp_arch_detect.c @@ -81,6 +81,9 @@ int main(int argc, char *argv[]) case SCMP_ARCH_AARCH64: printf("aarch64\n"); break; + case SCMP_ARCH_LOONGARCH64: + printf("loongarch64\n"); + break; case SCMP_ARCH_MIPS: printf("mips\n"); break; diff --git a/tools/scmp_bpf_disasm.c b/tools/scmp_bpf_disasm.c index b682de73..45726591 100644 --- a/tools/scmp_bpf_disasm.c +++ b/tools/scmp_bpf_disasm.c @@ -484,6 +484,8 @@ int main(int argc, char *argv[]) arch = AUDIT_ARCH_ARM; else if (strcmp(optarg, "aarch64") == 0) arch = AUDIT_ARCH_AARCH64; + else if (strcmp(optarg, "loongarch64") == 0) + arch = AUDIT_ARCH_LOONGARCH64; else if (strcmp(optarg, "mips") == 0) arch = AUDIT_ARCH_MIPS; else if (strcmp(optarg, "mipsel") == 0) diff --git a/tools/scmp_bpf_sim.c b/tools/scmp_bpf_sim.c index a3813143..a2b31f17 100644 --- a/tools/scmp_bpf_sim.c +++ b/tools/scmp_bpf_sim.c @@ -259,6 +259,8 @@ int main(int argc, char *argv[]) arch = AUDIT_ARCH_ARM; else if (strcmp(optarg, "aarch64") == 0) arch = AUDIT_ARCH_AARCH64; + else if (strcmp(optarg, "loongarch64") == 0) + arch = AUDIT_ARCH_LOONGARCH64; else if (strcmp(optarg, "mips") == 0) arch = AUDIT_ARCH_MIPS; else if (strcmp(optarg, "mipsel") == 0) diff --git a/tools/util.c b/tools/util.c index 5687b30f..433bbfa4 100644 --- a/tools/util.c +++ b/tools/util.c @@ -44,6 +44,8 @@ #define ARCH_NATIVE AUDIT_ARCH_ARM #elif __aarch64__ #define ARCH_NATIVE AUDIT_ARCH_AARCH64 +#elif __loongarch64 +#define ARCH_NATIVE AUDIT_ARCH_LOONGARCH64 #elif __mips__ && _MIPS_SIM == _MIPS_SIM_ABI32 #if __MIPSEB__ #define ARCH_NATIVE AUDIT_ARCH_MIPS diff --git a/tools/util.h b/tools/util.h index 6c2ca33d..24b9ed6a 100644 --- a/tools/util.h +++ b/tools/util.h @@ -37,6 +37,17 @@ #define AUDIT_ARCH_AARCH64 (EM_AARCH64|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE) #endif /* AUDIT_ARCH_AARCH64 */ +/** + * The 64-bit LoongArch architecture tokens + */ +/* 64-bit LoongArch audit support is upstream as of 5.19-rc1 */ +#ifndef AUDIT_ARCH_LOONGARCH64 +#ifndef EM_LOONGARCH +#define EM_LOONGARCH 258 +#endif /* EM_LOONGARCH */ +#define AUDIT_ARCH_LOONGARCH64 (EM_LOONGARCH|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE) +#endif /* AUDIT_ARCH_LOONGARCH64 */ + /** * The MIPS architecture tokens */ From ebee4f0d486f7cee57265d9196b6e98b18aaa3bb Mon Sep 17 00:00:00 2001 From: Xiaotian Wu Date: Tue, 9 Feb 2021 15:52:18 +0800 Subject: [PATCH 04/10] tests: Add 64-bit LoongArch support [xen0n: LoongArch (and a few upcoming architectures / ABIs) does not have fstat, so the fstat in 06-sim-actions is also being changed to fstatfs for uniformity across the board.] Signed-off-by: Xiaotian Wu Signed-off-by: WANG Xuerui Acked-by: Tom Hromatka Signed-off-by: Paul Moore (cherry-picked from commit 80c2c9fe4eac515b31292c522b51657800028018) --- tests/06-sim-actions.py | 2 +- tests/06-sim-actions.tests | 7 ++- tests/15-basic-resolver.c | 1 + tests/16-sim-arch_basic.c | 6 ++ tests/16-sim-arch_basic.py | 1 + tests/23-sim-arch_all_le_basic.c | 3 + tests/23-sim-arch_all_le_basic.py | 1 + tests/36-sim-ipc_syscalls.c | 3 + tests/38-basic-pfc_coverage.c | 3 + tests/38-basic-pfc_coverage.pfc | 97 ++++++++++++++++++++++++++++++ tests/53-sim-binary_tree.c | 3 + tests/53-sim-binary_tree.py | 1 + tests/53-sim-binary_tree.tests | 78 ++++++++++++------------ tests/55-basic-pfc_binary_tree.c | 3 + tests/55-basic-pfc_binary_tree.pfc | 87 +++++++++++++++++++++++++++ tests/56-basic-iterate_syscalls.c | 1 + tests/56-basic-iterate_syscalls.py | 1 + tests/regression | 4 +- 18 files changed, 258 insertions(+), 44 deletions(-) diff --git a/tests/06-sim-actions.py b/tests/06-sim-actions.py index 253061df..cfbd4f47 100755 --- a/tests/06-sim-actions.py +++ b/tests/06-sim-actions.py @@ -38,7 +38,7 @@ def test(args): f.add_rule(ERRNO(errno.EPERM), "write") f.add_rule(TRAP, "close") f.add_rule(TRACE(1234), "openat") - f.add_rule(KILL_PROCESS, "fstat") + f.add_rule(KILL_PROCESS, "fstatfs") return f args = util.get_opt() diff --git a/tests/06-sim-actions.tests b/tests/06-sim-actions.tests index 6d791f07..c3f63be8 100644 --- a/tests/06-sim-actions.tests +++ b/tests/06-sim-actions.tests @@ -15,12 +15,13 @@ test type: bpf-sim 06-sim-actions all fstatfs 4 0x856B008 N N N N KILL_PROCESS 06-sim-actions all rt_sigreturn N N N N N N LOG 06-sim-actions x86 0-2 N N N N N N KILL -06-sim-actions x86 7-107 N N N N N N KILL -06-sim-actions x86 109-172 N N N N N N KILL +06-sim-actions x86 7-99 N N N N N N KILL +06-sim-actions x86 101-172 N N N N N N KILL 06-sim-actions x86 174-294 N N N N N N KILL 06-sim-actions x86 296-350 N N N N N N KILL 06-sim-actions x86_64 6-14 N N N N N N KILL -06-sim-actions x86_64 16-256 N N N N N N KILL +06-sim-actions x86_64 16-137 N N N N N N KILL +06-sim-actions x86_64 139-256 N N N N N N KILL 06-sim-actions x86_64 258-350 N N N N N N KILL test type: bpf-sim-fuzz diff --git a/tests/15-basic-resolver.c b/tests/15-basic-resolver.c index 6db69e86..c79894f0 100644 --- a/tests/15-basic-resolver.c +++ b/tests/15-basic-resolver.c @@ -32,6 +32,7 @@ unsigned int arch_list[] = { SCMP_ARCH_X32, SCMP_ARCH_ARM, SCMP_ARCH_AARCH64, + SCMP_ARCH_LOONGARCH64, SCMP_ARCH_MIPS, SCMP_ARCH_MIPS64, SCMP_ARCH_MIPS64N32, diff --git a/tests/16-sim-arch_basic.c b/tests/16-sim-arch_basic.c index 0b141e1c..ee1a4a56 100644 --- a/tests/16-sim-arch_basic.c +++ b/tests/16-sim-arch_basic.c @@ -78,6 +78,9 @@ int main(int argc, char *argv[]) if (rc != 0) goto out; rc = seccomp_arch_add(ctx, SCMP_ARCH_AARCH64); + if (rc != 0) + goto out; + rc = seccomp_arch_add(ctx, SCMP_ARCH_LOONGARCH64); if (rc != 0) goto out; rc = seccomp_arch_add(ctx, SCMP_ARCH_MIPSEL); @@ -145,6 +148,9 @@ int main(int argc, char *argv[]) if (rc != 0) goto out; rc = seccomp_arch_remove(ctx, SCMP_ARCH_AARCH64); + if (rc != 0) + goto out; + rc = seccomp_arch_remove(ctx, SCMP_ARCH_LOONGARCH64); if (rc != 0) goto out; rc = seccomp_arch_remove(ctx, SCMP_ARCH_MIPSEL); diff --git a/tests/16-sim-arch_basic.py b/tests/16-sim-arch_basic.py index 846553fb..ba38b91f 100755 --- a/tests/16-sim-arch_basic.py +++ b/tests/16-sim-arch_basic.py @@ -40,6 +40,7 @@ def test(args): f.add_arch(Arch("x32")) f.add_arch(Arch("arm")) f.add_arch(Arch("aarch64")) + f.add_arch(Arch("loongarch64")) f.add_arch(Arch("mipsel")) f.add_arch(Arch("mipsel64")) f.add_arch(Arch("mipsel64n32")) diff --git a/tests/23-sim-arch_all_le_basic.c b/tests/23-sim-arch_all_le_basic.c index 32739e5b..d10d3518 100644 --- a/tests/23-sim-arch_all_le_basic.c +++ b/tests/23-sim-arch_all_le_basic.c @@ -57,6 +57,9 @@ int main(int argc, char *argv[]) if (rc != 0) goto out; rc = seccomp_arch_add(ctx, seccomp_arch_resolve_name("aarch64")); + if (rc != 0) + goto out; + rc = seccomp_arch_add(ctx, seccomp_arch_resolve_name("loongarch64")); if (rc != 0) goto out; rc = seccomp_arch_add(ctx, seccomp_arch_resolve_name("mipsel")); diff --git a/tests/23-sim-arch_all_le_basic.py b/tests/23-sim-arch_all_le_basic.py index 33eedb17..0cecbc95 100755 --- a/tests/23-sim-arch_all_le_basic.py +++ b/tests/23-sim-arch_all_le_basic.py @@ -36,6 +36,7 @@ def test(args): f.add_arch(Arch("x32")) f.add_arch(Arch("arm")) f.add_arch(Arch("aarch64")) + f.add_arch(Arch("loongarch64")) f.add_arch(Arch("mipsel")) f.add_arch(Arch("mipsel64")) f.add_arch(Arch("mipsel64n32")) diff --git a/tests/36-sim-ipc_syscalls.c b/tests/36-sim-ipc_syscalls.c index c9b575e0..d3b7093d 100644 --- a/tests/36-sim-ipc_syscalls.c +++ b/tests/36-sim-ipc_syscalls.c @@ -57,6 +57,9 @@ int main(int argc, char *argv[]) if (rc != 0) goto out; rc = seccomp_arch_add(ctx, SCMP_ARCH_MIPSEL); + if (rc != 0) + goto out; + rc = seccomp_arch_add(ctx, SCMP_ARCH_LOONGARCH64); if (rc != 0) goto out; diff --git a/tests/38-basic-pfc_coverage.c b/tests/38-basic-pfc_coverage.c index c6829ac9..d6ac7962 100644 --- a/tests/38-basic-pfc_coverage.c +++ b/tests/38-basic-pfc_coverage.c @@ -64,6 +64,9 @@ int main(int argc, char *argv[]) if (rc < 0) goto out; rc = seccomp_arch_add(ctx, SCMP_ARCH_AARCH64); + if (rc < 0) + goto out; + rc = seccomp_arch_add(ctx, SCMP_ARCH_LOONGARCH64); if (rc < 0) goto out; rc = seccomp_arch_add(ctx, SCMP_ARCH_MIPSEL); diff --git a/tests/38-basic-pfc_coverage.pfc b/tests/38-basic-pfc_coverage.pfc index 31092806..330b21a5 100644 --- a/tests/38-basic-pfc_coverage.pfc +++ b/tests/38-basic-pfc_coverage.pfc @@ -300,6 +300,103 @@ if ($arch == 3221225655) action KILL; # default action action ALLOW; +# filter for arch loongarch64 (3221225730) +if ($arch == 3221225730) + # filter for syscall "open" (4294957130) [priority: 65535] + if ($syscall == 4294957130) + action KILL; + # filter for syscall "fstat" (4294957051) [priority: 65535] + if ($syscall == 4294957051) + action KILL_PROCESS; + # filter for syscall "exit_group" (94) [priority: 65535] + if ($syscall == 94) + action LOG; + # filter for syscall "exit" (93) [priority: 65535] + if ($syscall == 93) + action TRACE(1); + # filter for syscall "close" (57) [priority: 65535] + if ($syscall == 57) + action ERRNO(1); + # filter for syscall "write" (64) [priority: 65527] + if ($syscall == 64) + if ($a0.hi32 == 0) + if ($a0.lo32 == 0) + else + if ($a1.hi32 > 0) + else + if ($a1.hi32 == 0) + if ($a1.lo32 > 1) + else + if ($a2.hi32 > 0) + else + if ($a2.hi32 == 0) + if ($a2.lo32 >= 2) + else + action TRAP; + else + action TRAP; + else + if ($a2.hi32 > 0) + else + if ($a2.hi32 == 0) + if ($a2.lo32 >= 2) + else + action TRAP; + else + action TRAP; + else + if ($a1.hi32 > 0) + else + if ($a1.hi32 == 0) + if ($a1.lo32 > 1) + else + if ($a2.hi32 > 0) + else + if ($a2.hi32 == 0) + if ($a2.lo32 >= 2) + else + action TRAP; + else + action TRAP; + else + if ($a2.hi32 > 0) + else + if ($a2.hi32 == 0) + if ($a2.lo32 >= 2) + else + action TRAP; + else + action TRAP; + # filter for syscall "read" (63) [priority: 65525] + if ($syscall == 63) + if ($a0.hi32 == 0) + if ($a0.lo32 == 0) + if ($a1.hi32 > 0) + if ($a2.hi32 > 0) + if ($a3.hi32 & 0x00000000 == 0) + if ($a3.lo32 & 0x0000000f == 3) + action KILL; + else + if ($a2.hi32 == 0) + if ($a2.lo32 > 2) + if ($a3.hi32 & 0x00000000 == 0) + if ($a3.lo32 & 0x0000000f == 3) + action KILL; + else + if ($a1.hi32 == 0) + if ($a1.lo32 >= 1) + if ($a2.hi32 > 0) + if ($a3.hi32 & 0x00000000 == 0) + if ($a3.lo32 & 0x0000000f == 3) + action KILL; + else + if ($a2.hi32 == 0) + if ($a2.lo32 > 2) + if ($a3.hi32 & 0x00000000 == 0) + if ($a3.lo32 & 0x0000000f == 3) + action KILL; + # default action + action ALLOW; # filter for arch mipsel (1073741832) if ($arch == 1073741832) # filter for syscall "exit_group" (4246) [priority: 65535] diff --git a/tests/53-sim-binary_tree.c b/tests/53-sim-binary_tree.c index 4aa5f136..98b9e2cb 100644 --- a/tests/53-sim-binary_tree.c +++ b/tests/53-sim-binary_tree.c @@ -103,6 +103,9 @@ int main(int argc, char *argv[]) goto out; rc = seccomp_arch_add(ctx, SCMP_ARCH_AARCH64); + if (rc != 0) + goto out; + rc = seccomp_arch_add(ctx, SCMP_ARCH_LOONGARCH64); if (rc != 0) goto out; rc = seccomp_arch_add(ctx, SCMP_ARCH_PPC64LE); diff --git a/tests/53-sim-binary_tree.py b/tests/53-sim-binary_tree.py index 8ee58cda..8cda8107 100755 --- a/tests/53-sim-binary_tree.py +++ b/tests/53-sim-binary_tree.py @@ -72,6 +72,7 @@ def test(args): f.remove_arch(Arch()) f.add_arch(Arch("aarch64")) + f.add_arch(Arch("loongarch64")) f.add_arch(Arch("ppc64le")) f.add_arch(Arch("x86_64")) diff --git a/tests/53-sim-binary_tree.tests b/tests/53-sim-binary_tree.tests index 2ebaafd5..9813d0d6 100644 --- a/tests/53-sim-binary_tree.tests +++ b/tests/53-sim-binary_tree.tests @@ -8,56 +8,56 @@ test type: bpf-sim # Testname Arch Syscall Arg0 Arg1 Arg2 Arg3 Arg4 Arg5 Result -53-sim-binary_tree +x86_64,+ppc64le,+aarch64 read N N N N N N ERRNO(0) -53-sim-binary_tree +x86_64,+ppc64le,+aarch64 write N N N N N N ERRNO(1) +53-sim-binary_tree +x86_64,+ppc64le,+aarch64,+loongarch64 read N N N N N N ERRNO(0) +53-sim-binary_tree +x86_64,+ppc64le,+aarch64,+loongarch64 write N N N N N N ERRNO(1) 53-sim-binary_tree +x86_64,+ppc64le open N N N N N N ERRNO(2) -53-sim-binary_tree +aarch64 open N N N N N N ALLOW -53-sim-binary_tree +x86_64,+ppc64le,+aarch64 close N N N N N N ALLOW -53-sim-binary_tree +x86_64,+ppc64le,+aarch64 close 100 1234 N N N N ALLOW -53-sim-binary_tree +x86_64,+ppc64le,+aarch64 close 100 101 N N N N ERRNO(3) +53-sim-binary_tree +aarch64,+loongarch64 open N N N N N N ALLOW +53-sim-binary_tree +x86_64,+ppc64le,+aarch64,+loongarch64 close N N N N N N ALLOW +53-sim-binary_tree +x86_64,+ppc64le,+aarch64,+loongarch64 close 100 1234 N N N N ALLOW +53-sim-binary_tree +x86_64,+ppc64le,+aarch64,+loongarch64 close 100 101 N N N N ERRNO(3) 53-sim-binary_tree +x86_64,+ppc64le stat N N N N N N ERRNO(4) -53-sim-binary_tree +aarch64 stat N N N N N N ALLOW +53-sim-binary_tree +aarch64,+loongarch64 stat N N N N N N ALLOW 53-sim-binary_tree +x86_64,+ppc64le,+aarch64 fstat N N N N N N ERRNO(5) 53-sim-binary_tree +x86_64,+ppc64le lstat N N N N N N ERRNO(6) -53-sim-binary_tree +aarch64 lstat N N N N N N ALLOW +53-sim-binary_tree +aarch64,+loongarch64 lstat N N N N N N ALLOW 53-sim-binary_tree +x86_64,+ppc64le poll 102 N N N N N ERRNO(7) -53-sim-binary_tree +aarch64 poll 102 N N N N N ALLOW -53-sim-binary_tree +x86_64,+ppc64le,+aarch64 lseek 103 104 N N N N ERRNO(8) -53-sim-binary_tree +x86_64,+ppc64le,+aarch64 mmap N N N N N N ERRNO(9) -53-sim-binary_tree +x86_64,+ppc64le,+aarch64 mprotect N N N N N N ERRNO(10) -53-sim-binary_tree +x86_64,+ppc64le,+aarch64 munmap N N N N N N ERRNO(11) -53-sim-binary_tree +x86_64,+ppc64le,+aarch64 brk N N N N N N ERRNO(12) -53-sim-binary_tree +x86_64,+ppc64le,+aarch64 rt_sigaction N N N N N N ERRNO(13) -53-sim-binary_tree +x86_64,+ppc64le,+aarch64 rt_sigprocmask N N N N N N ERRNO(14) -53-sim-binary_tree +x86_64,+ppc64le,+aarch64 rt_sigreturn N N N N N N ERRNO(15) -53-sim-binary_tree +x86_64,+ppc64le,+aarch64 ioctl N N N N N N ERRNO(16) -53-sim-binary_tree +x86_64,+ppc64le,+aarch64 pread64 105 N N N N N ERRNO(17) -53-sim-binary_tree +x86_64,+ppc64le,+aarch64 pwrite64 N N N N N N ERRNO(18) -53-sim-binary_tree +x86_64,+ppc64le,+aarch64 readv N N N N N N ERRNO(19) -53-sim-binary_tree +x86_64,+ppc64le,+aarch64 writev N N N N N N ERRNO(20) +53-sim-binary_tree +aarch64,+loongarch64 poll 102 N N N N N ALLOW +53-sim-binary_tree +x86_64,+ppc64le,+aarch64,+loongarch64 lseek 103 104 N N N N ERRNO(8) +53-sim-binary_tree +x86_64,+ppc64le,+aarch64,+loongarch64 mmap N N N N N N ERRNO(9) +53-sim-binary_tree +x86_64,+ppc64le,+aarch64,+loongarch64 mprotect N N N N N N ERRNO(10) +53-sim-binary_tree +x86_64,+ppc64le,+aarch64,+loongarch64 munmap N N N N N N ERRNO(11) +53-sim-binary_tree +x86_64,+ppc64le,+aarch64,+loongarch64 brk N N N N N N ERRNO(12) +53-sim-binary_tree +x86_64,+ppc64le,+aarch64,+loongarch64 rt_sigaction N N N N N N ERRNO(13) +53-sim-binary_tree +x86_64,+ppc64le,+aarch64,+loongarch64 rt_sigprocmask N N N N N N ERRNO(14) +53-sim-binary_tree +x86_64,+ppc64le,+aarch64,+loongarch64 rt_sigreturn N N N N N N ERRNO(15) +53-sim-binary_tree +x86_64,+ppc64le,+aarch64,+loongarch64 ioctl N N N N N N ERRNO(16) +53-sim-binary_tree +x86_64,+ppc64le,+aarch64,+loongarch64 pread64 105 N N N N N ERRNO(17) +53-sim-binary_tree +x86_64,+ppc64le,+aarch64,+loongarch64 pwrite64 N N N N N N ERRNO(18) +53-sim-binary_tree +x86_64,+ppc64le,+aarch64,+loongarch64 readv N N N N N N ERRNO(19) +53-sim-binary_tree +x86_64,+ppc64le,+aarch64,+loongarch64 writev N N N N N N ERRNO(20) 53-sim-binary_tree +x86_64,+ppc64le access N N N N N N ERRNO(21) -53-sim-binary_tree +aarch64 access N N N N N N ALLOW +53-sim-binary_tree +aarch64,+loongarch64 access N N N N N N ALLOW 53-sim-binary_tree +x86_64,+ppc64le pipe N N N N N N ERRNO(22) -53-sim-binary_tree +aarch64 pipe N N N N N N ALLOW -53-sim-binary_tree +x86_64,+ppc64le,+aarch64 select N N N N N N ALLOW +53-sim-binary_tree +aarch64,+loongarch64 pipe N N N N N N ALLOW +53-sim-binary_tree +x86_64,+ppc64le,+aarch64,+loongarch64 select N N N N N N ALLOW 53-sim-binary_tree +x86_64,+ppc64le select 106 107 N N N N ERRNO(23) -53-sim-binary_tree +aarch64 select 106 107 N N N N ALLOW -53-sim-binary_tree +x86_64,+ppc64le,+aarch64 sched_yield N N N N N N ERRNO(24) -53-sim-binary_tree +x86_64,+ppc64le,+aarch64 mremap N N N N N N ALLOW -53-sim-binary_tree +x86_64,+ppc64le,+aarch64 mremap 108 109 N N N N ERRNO(25) -53-sim-binary_tree +x86_64,+ppc64le,+aarch64 msync N N N N N N ERRNO(26) -53-sim-binary_tree +x86_64,+ppc64le,+aarch64 mincore N N N N N N ERRNO(27) -53-sim-binary_tree +x86_64,+ppc64le,+aarch64 madvise N N N N N N ERRNO(28) -53-sim-binary_tree +x86_64,+ppc64le,+aarch64 dup 112 N N N N N ERRNO(32) -53-sim-binary_tree +x86_64,+ppc64le,+aarch64 dup 5678 N N N N N ALLOW +53-sim-binary_tree +aarch64,+loongarch64 select 106 107 N N N N ALLOW +53-sim-binary_tree +x86_64,+ppc64le,+aarch64,+loongarch64 sched_yield N N N N N N ERRNO(24) +53-sim-binary_tree +x86_64,+ppc64le,+aarch64,+loongarch64 mremap N N N N N N ALLOW +53-sim-binary_tree +x86_64,+ppc64le,+aarch64,+loongarch64 mremap 108 109 N N N N ERRNO(25) +53-sim-binary_tree +x86_64,+ppc64le,+aarch64,+loongarch64 msync N N N N N N ERRNO(26) +53-sim-binary_tree +x86_64,+ppc64le,+aarch64,+loongarch64 mincore N N N N N N ERRNO(27) +53-sim-binary_tree +x86_64,+ppc64le,+aarch64,+loongarch64 madvise N N N N N N ERRNO(28) +53-sim-binary_tree +x86_64,+ppc64le,+aarch64,+loongarch64 dup 112 N N N N N ERRNO(32) +53-sim-binary_tree +x86_64,+ppc64le,+aarch64,+loongarch64 dup 5678 N N N N N ALLOW 53-sim-binary_tree +x86_64,+ppc64le dup2 N N N N N N ERRNO(33) -53-sim-binary_tree +aarch64 dup2 N N N N N N ALLOW +53-sim-binary_tree +aarch64,+loongarch64 dup2 N N N N N N ALLOW 53-sim-binary_tree +x86_64,+ppc64le pause N N N N N N ERRNO(34) -53-sim-binary_tree +aarch64 pause N N N N N N ALLOW -53-sim-binary_tree +x86_64,+ppc64le,+aarch64 nanosleep N N N N N N ERRNO(35) -53-sim-binary_tree +x86_64,+ppc64le,+aarch64 getitimer N N N N N N ERRNO(36) +53-sim-binary_tree +aarch64,+loongarch64 pause N N N N N N ALLOW +53-sim-binary_tree +x86_64,+ppc64le,+aarch64,+loongarch64 nanosleep N N N N N N ERRNO(35) +53-sim-binary_tree +x86_64,+ppc64le,+aarch64,+loongarch64 getitimer N N N N N N ERRNO(36) 53-sim-binary_tree +x86_64,+ppc64le alarm N N N N N N ERRNO(37) -53-sim-binary_tree +aarch64 alarm N N N N N N ALLOW +53-sim-binary_tree +aarch64,+loongarch64 alarm N N N N N N ALLOW test type: bpf-valgrind diff --git a/tests/55-basic-pfc_binary_tree.c b/tests/55-basic-pfc_binary_tree.c index e364fd6b..0919f6b1 100644 --- a/tests/55-basic-pfc_binary_tree.c +++ b/tests/55-basic-pfc_binary_tree.c @@ -87,6 +87,9 @@ int main(int argc, char *argv[]) if (rc < 0) goto out; rc = seccomp_arch_add(ctx, SCMP_ARCH_AARCH64); + if (rc < 0) + goto out; + rc = seccomp_arch_add(ctx, SCMP_ARCH_LOONGARCH64); if (rc < 0) goto out; rc = seccomp_attr_set(ctx, SCMP_FLTATR_CTL_OPTIMIZE, 2); diff --git a/tests/55-basic-pfc_binary_tree.pfc b/tests/55-basic-pfc_binary_tree.pfc index ba3244c4..33109454 100644 --- a/tests/55-basic-pfc_binary_tree.pfc +++ b/tests/55-basic-pfc_binary_tree.pfc @@ -175,6 +175,93 @@ if ($arch == 3221225655) action ERRNO(16); # default action action ALLOW; +# filter for arch loongarch64 (3221225730) +if ($arch == 3221225730) + if ($syscall > 62) + if ($syscall > 214) + if ($syscall > 4294957051) + # filter for syscall "lstat" (4294957133) [priority: 65535] + if ($syscall == 4294957133) + action ERRNO(6); + # filter for syscall "open" (4294957130) [priority: 65535] + if ($syscall == 4294957130) + action ERRNO(2); + # filter for syscall "poll" (4294957127) [priority: 65535] + if ($syscall == 4294957127) + action ERRNO(7); + # filter for syscall "stat" (4294957122) [priority: 65535] + if ($syscall == 4294957122) + action ERRNO(4); + else # ($syscall <= 4294957051) + # filter for syscall "fstat" (4294957051) [priority: 65533] + if ($syscall == 4294957051) + if ($a0.hi32 == 0) + if ($a0.lo32 == 103) + action ERRNO(5); + # filter for syscall "mprotect" (226) [priority: 65533] + if ($syscall == 226) + if ($a0.hi32 == 0) + if ($a0.lo32 == 105) + action ERRNO(10); + # filter for syscall "mmap" (222) [priority: 65535] + if ($syscall == 222) + action ERRNO(9); + # filter for syscall "munmap" (215) [priority: 65535] + if ($syscall == 215) + action ERRNO(11); + else # ($syscall <= 214) + if ($syscall > 68) + # filter for syscall "brk" (214) [priority: 65535] + if ($syscall == 214) + action ERRNO(12); + # filter for syscall "rt_sigreturn" (139) [priority: 65535] + if ($syscall == 139) + action ERRNO(15); + # filter for syscall "rt_sigprocmask" (135) [priority: 65535] + if ($syscall == 135) + action ERRNO(14); + # filter for syscall "rt_sigaction" (134) [priority: 65535] + if ($syscall == 134) + action ERRNO(13); + else # ($syscall <= 68) + # filter for syscall "pwrite64" (68) [priority: 65531] + if ($syscall == 68) + if ($a0.hi32 == 0) + if ($a0.lo32 == 107) + if ($a1.hi32 == 0) + if ($a1.lo32 == 108) + action ERRNO(18); + # filter for syscall "pread64" (67) [priority: 65533] + if ($syscall == 67) + if ($a0.hi32 == 0) + if ($a0.lo32 == 106) + action ERRNO(17); + # filter for syscall "write" (64) [priority: 65533] + if ($syscall == 64) + if ($a0.hi32 == 0) + if ($a0.lo32 == 102) + action ERRNO(1); + # filter for syscall "read" (63) [priority: 65531] + if ($syscall == 63) + if ($a0.hi32 == 0) + if ($a0.lo32 == 100) + if ($a1.hi32 == 0) + if ($a1.lo32 == 101) + action ERRNO(0); + else # ($syscall <= 62) + # filter for syscall "lseek" (62) [priority: 65533] + if ($syscall == 62) + if ($a0.hi32 == 0) + if ($a0.lo32 == 104) + action ERRNO(8); + # filter for syscall "close" (57) [priority: 65535] + if ($syscall == 57) + action ERRNO(3); + # filter for syscall "ioctl" (29) [priority: 65535] + if ($syscall == 29) + action ERRNO(16); + # default action + action ALLOW; # invalid architecture action action KILL; # diff --git a/tests/56-basic-iterate_syscalls.c b/tests/56-basic-iterate_syscalls.c index 5e7ab679..b514afa1 100644 --- a/tests/56-basic-iterate_syscalls.c +++ b/tests/56-basic-iterate_syscalls.c @@ -33,6 +33,7 @@ unsigned int arch_list[] = { SCMP_ARCH_X32, SCMP_ARCH_ARM, SCMP_ARCH_AARCH64, + SCMP_ARCH_LOONGARCH64, SCMP_ARCH_MIPS, SCMP_ARCH_MIPS64, SCMP_ARCH_MIPS64N32, diff --git a/tests/56-basic-iterate_syscalls.py b/tests/56-basic-iterate_syscalls.py index 77a5b893..d69dd0cf 100755 --- a/tests/56-basic-iterate_syscalls.py +++ b/tests/56-basic-iterate_syscalls.py @@ -33,6 +33,7 @@ "x32", "arm", "aarch64", + "loongarch64", "mipsel", "mipsel64", "mipsel64n32", diff --git a/tests/regression b/tests/regression index f938b1b9..19f93239 100755 --- a/tests/regression +++ b/tests/regression @@ -24,6 +24,7 @@ GLBL_ARCH_LE_SUPPORT=" \ x86 x86_64 x32 \ arm aarch64 \ + loongarch64 \ mipsel mipsel64 mipsel64n32 \ ppc64le \ riscv64" @@ -44,6 +45,7 @@ GLBL_ARCH_32B_SUPPORT=" \ GLBL_ARCH_64B_SUPPORT=" \ x86_64 \ aarch64 \ + loongarch64 \ mips64 \ parisc64 \ ppc64 \ @@ -796,7 +798,7 @@ function run_test_live() { # setup the arch specific return values case "$arch" in - x86|x86_64|x32|arm|aarch64|parisc|parisc64|ppc|ppc64|ppc64le|ppc|s390|s390x|riscv64) + x86|x86_64|x32|arm|aarch64|loongarch64|parisc|parisc64|ppc|ppc64|ppc64le|ppc|s390|s390x|riscv64) rc_kill_process=159 rc_kill=159 rc_allow=160 From 838bc3815f550fd21b80d912d21b5f40f8d2541d Mon Sep 17 00:00:00 2001 From: Xiaotian Wu Date: Tue, 9 Feb 2021 15:52:55 +0800 Subject: [PATCH 05/10] doc: update README and manpage for 64-bit LoongArch Signed-off-by: Xiaotian Wu Acked-by: Tom Hromatka Signed-off-by: Paul Moore (cherry-picked from commit 7179ff3e7c0bb9dca87848259114fe57938890a6) --- README.md | 1 + doc/man/man1/scmp_sys_resolver.1 | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index e3065129..7032802a 100644 --- a/README.md +++ b/README.md @@ -33,6 +33,7 @@ The libseccomp library currently supports the architectures listed below: * 64-bit x86 x32 ABI (x32) * 32-bit ARM EABI (arm) * 64-bit ARM (aarch64) +* 64-bit LoongArch (loongarch64) * 32-bit MIPS (mips) * 32-bit MIPS little endian (mipsel) * 64-bit MIPS (mips64) diff --git a/doc/man/man1/scmp_sys_resolver.1 b/doc/man/man1/scmp_sys_resolver.1 index a2236077..2a1597f5 100644 --- a/doc/man/man1/scmp_sys_resolver.1 +++ b/doc/man/man1/scmp_sys_resolver.1 @@ -34,9 +34,9 @@ special manner by libseccomp depending on the operation. .B \-a \fIARCH The architecture to use for resolving the system call. Valid .I ARCH -values are "x86", "x86_64", "x32", "arm", "aarch64", "mips", "mipsel", "mips64", -"mipsel64", "mips64n32", "mipsel64n32", "parisc", "parisc64", "ppc", "ppc64", -"ppc64le", "s390" and "s390x". +values are "x86", "x86_64", "x32", "arm", "aarch64", "loongarch64", "mips", +"mipsel", "mips64", "mipsel64", "mips64n32", "mipsel64n32", "parisc", +"parisc64", "ppc", "ppc64", "ppc64le", "s390" and "s390x". .TP .B \-t If necessary, translate the system call name to the proper system call number, From 00ff5be8a2bfe9392eaa266624d32d1881f78e19 Mon Sep 17 00:00:00 2001 From: WANG Xuerui Date: Sat, 25 Feb 2023 01:49:07 +0800 Subject: [PATCH 06/10] arch,tools: change macros used to detect LoongArch64 to __loongarch_lp64 According to the LoongArch Toolchain Conventions [1], `__loongarch64` is already deprecated for a while. What we care about here is the ABI data model, so change the `__loongarch64` to `__loongarch_lp64` instead. [1]: https://loongson.github.io/LoongArch-Documentation/LoongArch-toolchain-conventions-EN.html Signed-off-by: WANG Xuerui Acked-by: Tom Hromatka Signed-off-by: Paul Moore (cherry-picked from commit 49a382ddb48baf8496cf15bd2b491c83ac1f8039) --- src/arch.c | 2 +- tools/util.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/arch.c b/src/arch.c index 8c5363a8..84450f6f 100644 --- a/src/arch.c +++ b/src/arch.c @@ -63,7 +63,7 @@ const struct arch_def *arch_def_native = &arch_def_x86_64; const struct arch_def *arch_def_native = &arch_def_arm; #elif __aarch64__ const struct arch_def *arch_def_native = &arch_def_aarch64; -#elif __loongarch64 +#elif __loongarch_lp64 const struct arch_def *arch_def_native = &arch_def_loongarch64; #elif __mips__ && _MIPS_SIM == _MIPS_SIM_ABI32 #if __MIPSEB__ diff --git a/tools/util.c b/tools/util.c index 433bbfa4..6f25921f 100644 --- a/tools/util.c +++ b/tools/util.c @@ -44,7 +44,7 @@ #define ARCH_NATIVE AUDIT_ARCH_ARM #elif __aarch64__ #define ARCH_NATIVE AUDIT_ARCH_AARCH64 -#elif __loongarch64 +#elif __loongarch_lp64 #define ARCH_NATIVE AUDIT_ARCH_LOONGARCH64 #elif __mips__ && _MIPS_SIM == _MIPS_SIM_ABI32 #if __MIPSEB__ From 469034e4a15aa2d76860b5e5a2d2fd540a549258 Mon Sep 17 00:00:00 2001 From: WANG Xuerui Date: Sat, 25 Feb 2023 01:53:57 +0800 Subject: [PATCH 07/10] doc: mention SCMP_ARCH_LOONGARCH64 in seccomp_arch_add(3) Just found out the missing bit while browsing the docs in preparation of a pet project of mine. Fixes: 6966ec7 ("arch: Add 64-bit LoongArch support") Signed-off-by: WANG Xuerui Acked-by: Tom Hromatka Signed-off-by: Paul Moore (cherry-picked from commit 76e3689dc851ff740ded38f8c623cfbce3bad393) --- doc/man/man3/seccomp_arch_add.3 | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/man/man3/seccomp_arch_add.3 b/doc/man/man3/seccomp_arch_add.3 index da6ee761..b532cca8 100644 --- a/doc/man/man3/seccomp_arch_add.3 +++ b/doc/man/man3/seccomp_arch_add.3 @@ -17,6 +17,7 @@ seccomp_arch_add, seccomp_arch_remove, seccomp_arch_exist, seccomp_arch_native \ .B #define SCMP_ARCH_X32 .B #define SCMP_ARCH_ARM .B #define SCMP_ARCH_AARCH64 +.B #define SCMP_ARCH_LOONGARCH64 .B #define SCMP_ARCH_MIPS .B #define SCMP_ARCH_MIPS64 .B #define SCMP_ARCH_MIPS64N32 From 66b03b1ddb720cad823fd14ed29b4ab851adf04d Mon Sep 17 00:00:00 2001 From: WANG Xuerui Date: Fri, 31 Mar 2023 14:39:48 +0800 Subject: [PATCH 08/10] all: fix various misspellings of "pseudo" Drive-by fixes that should make the spell-checking CI happy. Signed-off-by: WANG Xuerui Acked-by: Tom Hromatka Signed-off-by: Paul Moore (cherry-picked from commit 5aceb9d68a14e055c7a702483d612b537244e276) --- src/gen_bpf.c | 2 +- src/syscalls.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/gen_bpf.c b/src/gen_bpf.c index 90c38cc6..c88bf6b2 100644 --- a/src/gen_bpf.c +++ b/src/gen_bpf.c @@ -1303,7 +1303,7 @@ static inline bool _skip_syscall(struct bpf_state *state, if (!syscall->valid) return true; - /* psuedo-syscalls should not be added to the filter unless explicity + /* pseudo-syscalls should not be added to the filter unless explicitly * requested via SCMP_FLTATR_API_TSKIP */ if (((int)syscall->num < 0) && diff --git a/src/syscalls.c b/src/syscalls.c index 9c58c127..5b2cd92a 100644 --- a/src/syscalls.c +++ b/src/syscalls.c @@ -146,7 +146,7 @@ static bool _abi_syscall_socket_test(const struct arch_def *arch, int sys) { const char *name; - /* multiplexed pseduo-syscalls */ + /* multiplexed pseudo-syscalls */ if (sys <= -100 && sys >= -120) return true; @@ -193,7 +193,7 @@ static bool _abi_syscall_ipc_test(const struct arch_def *arch, int sys) { const char *name; - /* multiplexed pseduo-syscalls */ + /* multiplexed pseudo-syscalls */ if (sys <= -200 && sys >= -224) return true; From 72866fa9ea9ec7bc56c449a5ae33dcccc4a78675 Mon Sep 17 00:00:00 2001 From: Michal Privoznik Date: Tue, 1 Nov 2022 10:07:59 +0100 Subject: [PATCH 09/10] configure.ac: Fix variable escaping for newer autoconf When using autoconf macros, one has to be careful because some arguments as they may need additional escaping. In this particular case, the second argument passed to AC_DEFINE_UNQUOTED() is problematic as autoconf runs it in a subshell resulting in 'yes' being interpreted as a name of a variable instead of literal "yes" string. Putting quotes around it lets shell know we want string comparison. This problem was noticed with autoconf-2.71. Signed-off-by: Michal Privoznik Acked-by: Tom Hromatka Signed-off-by: Paul Moore (cherry-picked from commit bc2e1d155f4531eef5564639b50d3252af873273) --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 1912e804..126e59d3 100644 --- a/configure.ac +++ b/configure.ac @@ -118,7 +118,7 @@ AS_IF([test "$enable_python" = yes], [ ]) AM_CONDITIONAL([ENABLE_PYTHON], [test "$enable_python" = yes]) AC_DEFINE_UNQUOTED([ENABLE_PYTHON], - [$(test "$enable_python" = yes && echo 1 || echo 0)], + [$(test "$enable_python" = "yes" && echo 1 || echo 0)], [Python bindings build flag.]) AC_CHECK_TOOL(GPERF, gperf) From dec5f81e5817dce545a90f9060598854558b31d8 Mon Sep 17 00:00:00 2001 From: Paul Moore Date: Tue, 9 May 2023 13:13:23 -0400 Subject: [PATCH 10/10] gen_bpf: squelch gcc v13.1.1 warnings Squelch the following warning, first noticed in GCC v13.1.1, but possibly present earlier: gen_bpf.c: In function '_gen_bpf_build_bpf': gen_bpf.c:2083:21: warning: storing the address of local variable 'pseudo_arch' in '*state.arch' [-Wdangling-pointer=] Signed-off-by: Paul Moore (cherry-picked from commit 31583fab12370da984785cd16ceb8f031c94ae76) --- src/gen_bpf.c | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/src/gen_bpf.c b/src/gen_bpf.c index c88bf6b2..a461fd68 100644 --- a/src/gen_bpf.c +++ b/src/gen_bpf.c @@ -2084,15 +2084,19 @@ static int _gen_bpf_build_bpf(struct bpf_state *state, if (i_iter->jt.type == TGT_NXT) { b_jmp = _gen_bpf_find_nxt(b_iter, i_iter->jt.tgt.nxt); - if (b_jmp == NULL) - return -EFAULT; + if (b_jmp == NULL) { + rc = -EFAULT; + goto state_reset; + } i_iter->jt = _BPF_JMP_HSH(b_jmp->hash); } if (i_iter->jf.type == TGT_NXT) { b_jmp = _gen_bpf_find_nxt(b_iter, i_iter->jf.tgt.nxt); - if (b_jmp == NULL) - return -EFAULT; + if (b_jmp == NULL) { + rc = -EFAULT; + goto state_reset; + } i_iter->jf = _BPF_JMP_HSH(b_jmp->hash); } /* we shouldn't need to worry about a TGT_NXT in k */ @@ -2134,8 +2138,10 @@ static int _gen_bpf_build_bpf(struct bpf_state *state, b_jmp = _blk_prepend(state, b_jmp, &instr); - if (b_jmp == NULL) - return -EFAULT; + if (b_jmp == NULL) { + rc = -EFAULT; + goto state_reset; + } } _BPF_INSTR(instr, _BPF_OP(state->arch, @@ -2145,8 +2151,10 @@ static int _gen_bpf_build_bpf(struct bpf_state *state, b_jmp->acc_start.offset)); b_jmp = _blk_prepend(state, b_jmp, &instr); - if (b_jmp == NULL) - return -EFAULT; + if (b_jmp == NULL) { + rc = -EFAULT; + goto state_reset; + } /* not reliant on the accumulator */ b_jmp->acc_start = _ACC_STATE_UNDEF; } @@ -2282,6 +2290,7 @@ static int _gen_bpf_build_bpf(struct bpf_state *state, _blk_free(state, b_iter); } while (b_head != NULL); + state->arch = NULL; return 0; build_bpf_free_blks: @@ -2292,6 +2301,8 @@ static int _gen_bpf_build_bpf(struct bpf_state *state, __blk_free(state, b_iter); b_iter = b_jmp; } +state_reset: + state->arch = NULL; return rc; }