diff --git a/src/rp-download/os-secure_linux.c b/src/rp-download/os-secure_linux.c index 50a00efba1..ca72e5982a 100644 --- a/src/rp-download/os-secure_linux.c +++ b/src/rp-download/os-secure_linux.c @@ -78,8 +78,11 @@ int rp_download_os_secure(void) seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(mkdir), 0); seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(mmap), 0); seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(munmap), 0); - seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(open), 0); - seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(openat), 0); + seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(open), 0); // Ubuntu 16.04 + seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(openat), 0); // glibc-2.31 +#ifdef __NR_openat2 + seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(openat2), 0); // Linux 5.6 +#endif /* __NR_openat2 */ seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(poll), 0); seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(select), 0); seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(stat), 0); diff --git a/src/rpcli/os-secure_linux.c b/src/rpcli/os-secure_linux.c index 4a0693f3b5..ae8b4d4e7c 100644 --- a/src/rpcli/os-secure_linux.c +++ b/src/rpcli/os-secure_linux.c @@ -73,6 +73,9 @@ int rpcli_os_secure(void) seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(munmap), 0); seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(open), 0); // Ubuntu 16.04 seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(openat), 0); // glibc-2.31 +#ifdef __NR_openat2 + seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(openat2), 0); // Linux 5.6 +#endif /* __NR_openat2 */ // KeyManager (keys.conf) seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(access), 0); // LibUnixCommon::isWritableDirectory()