journald-audit: apply new Audit= setting on reload

This commit is contained in:
Yu Watanabe
2025-07-16 01:24:32 +09:00
parent 884274cbe6
commit cbf59f4bb2
3 changed files with 15 additions and 0 deletions

View File

@@ -556,3 +556,15 @@ int manager_open_audit(Manager *m) {
(void) manager_set_kernel_audit(m);
return 0;
}
void manager_reset_kernel_audit(Manager *m, int old_set_audit) {
assert(m);
if (m->audit_fd < 0)
return;
if (m->config.set_audit == old_set_audit)
return;
(void) manager_set_kernel_audit(m);
}

View File

@@ -10,3 +10,4 @@ void manager_process_audit_message(Manager *m, const void *buffer, size_t buffer
void process_audit_string(Manager *m, int type, const char *data, size_t size);
int manager_open_audit(Manager *m);
void manager_reset_kernel_audit(Manager *m, int old_set_audit);

View File

@@ -5,6 +5,7 @@
#include "conf-parser.h"
#include "creds-util.h"
#include "daemon-util.h"
#include "journald-audit.h"
#include "journald-config.h"
#include "journald-kmsg.h"
#include "journald-manager.h"
@@ -364,6 +365,7 @@ int manager_dispatch_reload_signal(sd_event_source *s, const struct signalfd_sig
manager_reload_config(m);
(void) manager_reopen_dev_kmsg(m, old.read_kmsg);
manager_reset_kernel_audit(m, old.set_audit);
r = manager_reload_journals(m);
if (r < 0)