From: Lennart Poettering Date: Wed, 13 Sep 2017 17:33:54 +0000 (+0200) Subject: seccomp: let's update @file-system a bit X-Git-Tag: v235~107^2~9 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ceaa6aa76beb4b97c435710b65ba02a951db5347;p=platform%2Fupstream%2Fsystemd.git seccomp: let's update @file-system a bit Let's add fremovexattr which was the only xattr syscall so far missing from the group, even though lremovexattr and friends where included. Add inotify_init, which is an older (but still supported) version of inotify_init1. Add oldfstat, oldlstat, oldstat which are old versions of the stat syscalls on some archs. Add utime, which is an older more limited version of utimes and utimensat. Enclose the "statx" entry in some ifdeffery to ensure libseccomp actually knows the syscall. If libseccomp doesn't know it, then we'd get EINVAL rather than EDOM (which is what is returned if a syscall is known but not available on the local system) when resolving the syscall name and we really don't want that, as we use the EDOM vs. EINVAL check for determining whether a syscall makes sense at all. Also, order things alphabetically. --- diff --git a/src/shared/seccomp-util.c b/src/shared/seccomp-util.c index b4fbb03..44dc027 100644 --- a/src/shared/seccomp-util.c +++ b/src/shared/seccomp-util.c @@ -362,24 +362,26 @@ const SyscallFilterSet syscall_filter_sets[_SYSCALL_FILTER_SET_MAX] = { "fchdir\0" "fchmod\0" "fchmodat\0" - "fcntl64\0" "fcntl\0" + "fcntl64\0" "fgetxattr\0" "flistxattr\0" + "fremovexattr\0" "fsetxattr\0" - "fstat64\0" "fstat\0" + "fstat64\0" "fstatat64\0" - "fstatfs64\0" "fstatfs\0" - "ftruncate64\0" + "fstatfs64\0" "ftruncate\0" + "ftruncate64\0" "futimesat\0" "getcwd\0" - "getdents64\0" "getdents\0" + "getdents64\0" "getxattr\0" "inotify_add_watch\0" + "inotify_init\0" "inotify_init1\0" "inotify_rm_watch\0" "lgetxattr\0" @@ -389,36 +391,43 @@ const SyscallFilterSet syscall_filter_sets[_SYSCALL_FILTER_SET_MAX] = { "llistxattr\0" "lremovexattr\0" "lsetxattr\0" - "lstat64\0" "lstat\0" + "lstat64\0" "mkdir\0" "mkdirat\0" "mknod\0" "mknodat\0" - "mmap2\0" "mmap\0" + "mmap2\0" "munmap\0" "newfstatat\0" + "oldfstat\0" + "oldlstat\0" + "oldstat\0" "open\0" "openat\0" "readlink\0" "readlinkat\0" "removexattr\0" "rename\0" - "renameat2\0" "renameat\0" + "renameat2\0" "rmdir\0" "setxattr\0" - "stat64\0" "stat\0" + "stat64\0" "statfs\0" + "statfs64\0" +#ifdef __PNR_statx "statx\0" +#endif "symlink\0" "symlinkat\0" - "truncate64\0" "truncate\0" + "truncate64\0" "unlink\0" "unlinkat\0" + "utime\0" "utimensat\0" "utimes\0" },