Refactor logging in Minijail.
That way, the syscall filtering module can log to syslog without
duplicating code. While I'm at it, make naming more consistent.
BUG=None
TEST=unit
TEST=security_Minijail0, security_Minijail_seccomp, platform_CrosDisksArchive
Change-Id: I7102ca22f49dd7e5bb56bf2997d0d83cb0507e83
Reviewed-on: https://gerrit.chromium.org/gerrit/29080
Tested-by: Jorge Lucangeli Obes <jorgelo@chromium.org>
Reviewed-by: Kees Cook <keescook@chromium.org>
Commit-Ready: Jorge Lucangeli Obes <jorgelo@chromium.org>
diff --git a/libminijail.c b/libminijail.c
index cbd31f2..13434f6 100644
--- a/libminijail.c
+++ b/libminijail.c
@@ -30,12 +30,12 @@
#include <sys/prctl.h>
#include <sys/user.h>
#include <sys/wait.h>
-#include <syslog.h>
#include <unistd.h>
#include "libminijail.h"
#include "libsyscalls.h"
#include "libminijail-private.h"
+#include "logging.h"
#include "syscall_filter.h"
@@ -52,17 +52,6 @@
# define SECCOMP_MODE_FILTER 2 /* uses user-supplied filter. */
#endif
-#define die(_msg, ...) do { \
- syslog(LOG_ERR, "libminijail: " _msg, ## __VA_ARGS__); \
- abort(); \
-} while (0)
-
-#define pdie(_msg, ...) \
- die(_msg ": %s", ## __VA_ARGS__, strerror(errno))
-
-#define warn(_msg, ...) \
- syslog(LOG_WARNING, "libminijail: " _msg, ## __VA_ARGS__)
-
struct binding {
char *src;
char *dest;
@@ -258,7 +247,7 @@
goto error;
b->writeable = writeable;
- syslog(LOG_INFO, "libminijail: bind %s -> %s", src, dest);
+ info("bind %s -> %s", src, dest);
/*
* Force vfs namespacing so the bind mounts don't leak out into the
@@ -286,12 +275,12 @@
{
FILE *file = fopen(path, "r");
if (!file) {
- pdie("failed to open seccomp filters file '%s'", path);
+ pdie("failed to open seccomp filter file '%s'", path);
}
struct sock_fprog *fprog = malloc(sizeof(struct sock_fprog));
if (compile_filter(file, fprog)) {
- die("failed to compile seccomp filters BPF program in '%s'", path);
+ die("failed to compile seccomp filter BPF program in '%s'", path);
}
j->filter_len = fprog->len;