procd: Replace strerror(errno) with %m.
[project/procd.git] / jail / seccomp.c
index 27bf3ce..fae08f9 100644 (file)
 #include "seccomp.h"
 #include "../syscall-names.h"
 
-static int max_syscall = ARRAY_SIZE(syscall_names);
-
 static int find_syscall(const char *name)
 {
        int i;
 
-       for (i = 0; i < max_syscall; i++)
-               if (syscall_names[i] && !strcmp(syscall_names[i], name))
-                       return i;
+       for (i = 0; i < SYSCALL_COUNT; i++) {
+               int sc = syscall_index_to_number(i);
+               if (syscall_name(sc) && !strcmp(syscall_name(sc), name))
+                       return sc;
+       }
 
        return -1;
 }
@@ -125,7 +125,7 @@ int install_syscall_filter(const char *argv, const char *file)
                set_filter(&filter[idx], BPF_RET + BPF_K, 0, 0, SECCOMP_RET_KILL);
 
        if (prctl(PR_SET_NO_NEW_PRIVS, 1, 0, 0, 0)) {
-               ERROR("%s: prctl(PR_SET_NO_NEW_PRIVS) failed: %s\n", argv, strerror(errno));
+               ERROR("%s: prctl(PR_SET_NO_NEW_PRIVS) failed: %m\n", argv);
                return errno;
        }
 
@@ -133,7 +133,7 @@ int install_syscall_filter(const char *argv, const char *file)
        prog.filter = filter;
 
        if (prctl(PR_SET_SECCOMP, SECCOMP_MODE_FILTER, &prog)) {
-               ERROR("%s: prctl(PR_SET_SECCOMP) failed: %s\n", argv, strerror(errno));
+               ERROR("%s: prctl(PR_SET_SECCOMP) failed: %m\n", argv);
                return errno;
        }
        return 0;