logswan

Fast Web log analyzer using probabilistic data structures
Log | Files | Refs | README | LICENSE

commit 764d332dfba248e1e688fb25325d788536b38661
parent bc4aec062d7767f0ef252c8c52864b968c7bc303
Author: Frederic Cambus <fred@statdns.com>
Date:   Sat, 26 Oct 2019 17:53:06 +0200

Define and use the LOGSWAN_ALLOW_SYSCALL macro to make code more readable.

Diffstat:
Msrc/seccomp.h | 51++++++++++++++++++++-------------------------------
1 file changed, 20 insertions(+), 31 deletions(-)

diff --git a/src/seccomp.h b/src/seccomp.h @@ -4,7 +4,7 @@ * https://www.logswan.org * * Created: 2015-05-31 - * Last Updated: 2019-10-23 + * Last Updated: 2019-10-26 * * Logswan is released under the BSD 2-Clause license. * See LICENSE file for details. @@ -18,39 +18,28 @@ #include <linux/filter.h> #include <linux/seccomp.h> +#define LOGSWAN_ALLOW_SYSCALL(syscall) \ + BPF_JUMP(BPF_JMP+BPF_JEQ+BPF_K, SYS_##syscall, 0, 1), \ + BPF_STMT(BPF_RET+BPF_K, SECCOMP_RET_ALLOW) + static struct sock_filter filter[] = { BPF_STMT(BPF_LD+BPF_W+BPF_ABS, offsetof(struct seccomp_data, nr)), - BPF_JUMP(BPF_JMP+BPF_JEQ+BPF_K, SYS_brk, 0, 1), - BPF_STMT(BPF_RET+BPF_K, SECCOMP_RET_ALLOW), - BPF_JUMP(BPF_JMP+BPF_JEQ+BPF_K, SYS_close, 0, 1), - BPF_STMT(BPF_RET+BPF_K, SECCOMP_RET_ALLOW), - BPF_JUMP(BPF_JMP+BPF_JEQ+BPF_K, SYS_dup, 0, 1), - BPF_STMT(BPF_RET+BPF_K, SECCOMP_RET_ALLOW), - BPF_JUMP(BPF_JMP+BPF_JEQ+BPF_K, SYS_exit_group, 0, 1), - BPF_STMT(BPF_RET+BPF_K, SECCOMP_RET_ALLOW), - BPF_JUMP(BPF_JMP+BPF_JEQ+BPF_K, SYS_fcntl, 0, 1), - BPF_STMT(BPF_RET+BPF_K, SECCOMP_RET_ALLOW), - BPF_JUMP(BPF_JMP+BPF_JEQ+BPF_K, SYS_fstat, 0, 1), - BPF_STMT(BPF_RET+BPF_K, SECCOMP_RET_ALLOW), - BPF_JUMP(BPF_JMP+BPF_JEQ+BPF_K, SYS_ioctl, 0, 1), - BPF_STMT(BPF_RET+BPF_K, SECCOMP_RET_ALLOW), - BPF_JUMP(BPF_JMP+BPF_JEQ+BPF_K, SYS_lseek, 0, 1), - BPF_STMT(BPF_RET+BPF_K, SECCOMP_RET_ALLOW), - BPF_JUMP(BPF_JMP+BPF_JEQ+BPF_K, SYS_open, 0, 1), - BPF_STMT(BPF_RET+BPF_K, SECCOMP_RET_ALLOW), - BPF_JUMP(BPF_JMP+BPF_JEQ+BPF_K, SYS_openat, 0, 1), - BPF_STMT(BPF_RET+BPF_K, SECCOMP_RET_ALLOW), - BPF_JUMP(BPF_JMP+BPF_JEQ+BPF_K, SYS_mmap, 0, 1), - BPF_STMT(BPF_RET+BPF_K, SECCOMP_RET_ALLOW), - BPF_JUMP(BPF_JMP+BPF_JEQ+BPF_K, SYS_munmap, 0, 1), - BPF_STMT(BPF_RET+BPF_K, SECCOMP_RET_ALLOW), - BPF_JUMP(BPF_JMP+BPF_JEQ+BPF_K, SYS_read, 0, 1), - BPF_STMT(BPF_RET+BPF_K, SECCOMP_RET_ALLOW), - BPF_JUMP(BPF_JMP+BPF_JEQ+BPF_K, SYS_write, 0, 1), - BPF_STMT(BPF_RET+BPF_K, SECCOMP_RET_ALLOW), - BPF_JUMP(BPF_JMP+BPF_JEQ+BPF_K, SYS_writev, 0, 1), - BPF_STMT(BPF_RET+BPF_K, SECCOMP_RET_ALLOW), + LOGSWAN_ALLOW_SYSCALL(brk), + LOGSWAN_ALLOW_SYSCALL(close), + LOGSWAN_ALLOW_SYSCALL(dup), + LOGSWAN_ALLOW_SYSCALL(exit_group), + LOGSWAN_ALLOW_SYSCALL(fcntl), + LOGSWAN_ALLOW_SYSCALL(fstat), + LOGSWAN_ALLOW_SYSCALL(ioctl), + LOGSWAN_ALLOW_SYSCALL(lseek), + LOGSWAN_ALLOW_SYSCALL(open), + LOGSWAN_ALLOW_SYSCALL(openat), + LOGSWAN_ALLOW_SYSCALL(mmap), + LOGSWAN_ALLOW_SYSCALL(munmap), + LOGSWAN_ALLOW_SYSCALL(read), + LOGSWAN_ALLOW_SYSCALL(write), + LOGSWAN_ALLOW_SYSCALL(writev), BPF_STMT(BPF_RET+BPF_K, SECCOMP_RET_KILL) };