[PATCH] tests: use openat and fstat instead of open and stat syscalls in tests 04...
authorAndreas Schwab <schwab@suse.de>
Tue, 18 Aug 2020 13:59:54 +0000 (15:59 +0200)
committerFelix Geyer <fgeyer@debian.org>
Sun, 8 Nov 2020 18:59:21 +0000 (18:59 +0000)
Architectures like aarch64 and riscv64, and all future architectures that
use the generic syscall table, do not support the open and stat syscalls.
Use the openat and fstat syscalls instead.

Signed-off-by: Andreas Schwab <schwab@suse.de>
Acked-by: Tom Hromatka <tom.hromatka@oracle.com>
Signed-off-by: Paul Moore <paul@paul-moore.com>
(imported from commit a317fabc1fd915f19f7e7326bf7dcb77493f1210)

Gbp-Pq: Name tests_use_openat_and_fstat_instead_of_open_and_stat_syscalls.patch

tests/04-sim-multilevel_chains.c
tests/04-sim-multilevel_chains.py
tests/04-sim-multilevel_chains.tests
tests/06-sim-actions.c
tests/06-sim-actions.py
tests/06-sim-actions.tests

index a660b40d9d125914619ea5d8fa0bc87dd5159705..e3e4f9bd03fa001f0bfba353a943d43659f404cf 100644 (file)
@@ -41,7 +41,7 @@ int main(int argc, char *argv[])
        if (ctx == NULL)
                return ENOMEM;
 
-       rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(open), 0);
+       rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(openat), 0);
        if (rc != 0)
                goto out;
 
index bcf1ee4623eac64d37bca3b040246b7494346c85..a5127a2b0dadd497e9b3d0f05e414c75abc1458d 100755 (executable)
@@ -30,7 +30,7 @@ from seccomp import *
 
 def test(args):
     f = SyscallFilter(KILL)
-    f.add_rule(ALLOW, "open")
+    f.add_rule(ALLOW, "openat")
     f.add_rule(ALLOW, "close")
     f.add_rule(ALLOW, "read",
                Arg(0, EQ, sys.stdin.fileno()),
index 6613f9a08643799347564b5817c43d3342bf5bd7..b6f757614c62a86fc883774cb3a4e91deed91bd3 100644 (file)
@@ -8,7 +8,7 @@
 test type: bpf-sim
 
 # Testname                     Arch            Syscall         Arg0            Arg1            Arg2                    Arg3    Arg4    Arg5    Result
-04-sim-multilevel_chains       all,-aarch64    open            0x856B008       4               N                       N       N       N       ALLOW
+04-sim-multilevel_chains       all             openat          0               0x856B008       4                       N       N       N       ALLOW
 04-sim-multilevel_chains       all             close           4               N               N                       N       N       N       ALLOW
 04-sim-multilevel_chains       x86             read            0               0x856B008       0x7FFFFFFE              N       N       N       ALLOW
 04-sim-multilevel_chains       x86_64          read            0               0x856B008       0x7FFFFFFFFFFFFFFE      N       N       N       ALLOW
@@ -27,9 +27,11 @@ test type: bpf-sim
 04-sim-multilevel_chains       all             rt_sigreturn    N               N               N                       N       N       N       ALLOW
 04-sim-multilevel_chains       x86             0-2             N               N               N                       N       N       N       KILL
 04-sim-multilevel_chains       x86             7-172           N               N               N                       N       N       N       KILL
-04-sim-multilevel_chains       x86             174-350         N               N               N                       N       N       N       KILL
+04-sim-multilevel_chains       x86             174-294         N               N               N                       N       N       N       KILL
+04-sim-multilevel_chains       x86             296-350         N               N               N                       N       N       N       KILL
 04-sim-multilevel_chains       x86_64          4-14            N               N               N                       N       N       N       KILL
-04-sim-multilevel_chains       x86_64          16-350          N               N               N                       N       N       N       KILL
+04-sim-multilevel_chains       x86_64          16-256          N               N               N                       N       N       N       KILL
+04-sim-multilevel_chains       x86_64          258-350         N               N               N                       N       N       N       KILL
 
 test type: bpf-sim-fuzz
 
index 10b366c9cc156fda908277bf2ed836d7f6833e50..da636c942b1b906adbe6ce5909a6adc080fcd2f8 100644 (file)
@@ -60,11 +60,11 @@ int main(int argc, char *argv[])
        if (rc != 0)
                goto out;
 
-       rc = seccomp_rule_add(ctx, SCMP_ACT_TRACE(1234), SCMP_SYS(open), 0);
+       rc = seccomp_rule_add(ctx, SCMP_ACT_TRACE(1234), SCMP_SYS(openat), 0);
        if (rc != 0)
                goto out;
 
-       rc = seccomp_rule_add(ctx, SCMP_ACT_KILL_PROCESS, SCMP_SYS(stat), 0);
+       rc = seccomp_rule_add(ctx, SCMP_ACT_KILL_PROCESS, SCMP_SYS(fstat), 0);
        if (rc != 0)
                goto out;
 
index f14d6ed8eed4cb2afa082c30d9112699b6f4a577..253061dff9cd4d342466dcf789f1736e48d08568 100755 (executable)
@@ -37,8 +37,8 @@ def test(args):
     f.add_rule(LOG, "rt_sigreturn")
     f.add_rule(ERRNO(errno.EPERM), "write")
     f.add_rule(TRAP, "close")
-    f.add_rule(TRACE(1234), "open")
-    f.add_rule(KILL_PROCESS, "stat")
+    f.add_rule(TRACE(1234), "openat")
+    f.add_rule(KILL_PROCESS, "fstat")
     return f
 
 args = util.get_opt()
index b830917e90d402e01cff49a6329e3798080b5715..1ef38b32dd08822b693f2fd5b28c0a30c61dda91 100644 (file)
@@ -11,15 +11,17 @@ test type: bpf-sim
 06-sim-actions all             read            4               0x856B008       80      N       N       N       ALLOW
 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,-aarch64    open            0x856B008       4               N       N       N       N       TRACE(1234)
-06-sim-actions all,-aarch64    stat            N               N               N       N       N       N       KILL_PROCESS
+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             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-105           N               N               N       N       N       N       KILL
-06-sim-actions x86             107-172         N               N               N       N       N       N       KILL
-06-sim-actions x86             174-350         N               N               N       N       N       N       KILL
-06-sim-actions x86_64          5-14            N               N               N       N       N       N       KILL
-06-sim-actions x86_64          16-350          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             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          258-350         N               N               N       N       N       N       KILL
 
 test type: bpf-sim-fuzz