summaryrefslogtreecommitdiff
path: root/src/journal/journald-audit.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2015-05-20 14:37:21 +0200
committerLennart Poettering <lennart@poettering.net>2015-05-20 14:38:25 +0200
commit417a7fdc418ec76cc4c321c9a07ec15c72b3ac7d (patch)
tree3b5a9d65aa87a54ce29481f6f720604786cc6689 /src/journal/journald-audit.c
parent6458ec20b574edf7170fda61c51ccd3c6e73937f (diff)
journald: handle more gracefully when bind() fails on audit sockets
Diffstat (limited to 'src/journal/journald-audit.c')
-rw-r--r--src/journal/journald-audit.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/journal/journald-audit.c b/src/journal/journald-audit.c
index 64395e1148..83c3332abf 100644
--- a/src/journal/journald-audit.c
+++ b/src/journal/journald-audit.c
@@ -534,9 +534,14 @@ int server_open_audit(Server *s) {
return 0;
}
- r = bind(s->audit_fd, &sa.sa, sizeof(sa.nl));
- if (r < 0)
- return log_error_errno(errno, "Failed to join audit multicast group: %m");
+ if (bind(s->audit_fd, &sa.sa, sizeof(sa.nl)) < 0) {
+ log_warning_errno(errno,
+ "Failed to join audit multicast group. "
+ "The kernel is probably too old or multicast reading is not supported. "
+ "Ignoring: %m");
+ s->audit_fd = safe_close(s->audit_fd);
+ return 0;
+ }
} else
fd_nonblock(s->audit_fd, 1);