summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAmy Griffis <amy.griffis@hp.com>2006-09-07 17:46:18 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2006-09-11 13:32:17 -0400
commit5974501e2d44546748e67c635cec20ba66619a3d (patch)
treef36ef74c1192b73d25a84f9c09ddb844a0d59cc6
parent8ef2d3040e5cf38f7d64a408038f576b4a5ec987 (diff)
downloadlwn-5974501e2d44546748e67c635cec20ba66619a3d.tar.gz
lwn-5974501e2d44546748e67c635cec20ba66619a3d.zip
[PATCH] update audit rule change messages
Make the audit message for implicit rule removal more informative. Make the rule update message consistent with other messages. Signed-off-by: Amy Griffis <amy.griffis@hp.com> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
-rw-r--r--kernel/auditfilter.c19
1 files changed, 14 insertions, 5 deletions
diff --git a/kernel/auditfilter.c b/kernel/auditfilter.c
index 0d6a8fc21f17..e4cafc11c510 100644
--- a/kernel/auditfilter.c
+++ b/kernel/auditfilter.c
@@ -914,7 +914,7 @@ static void audit_update_watch(struct audit_parent *parent,
}
ab = audit_log_start(NULL, GFP_KERNEL, AUDIT_CONFIG_CHANGE);
- audit_log_format(ab, "audit updated rules specifying watch=");
+ audit_log_format(ab, "audit updated rules specifying path=");
audit_log_untrustedstring(ab, owatch->path);
audit_log_format(ab, " with dev=%u ino=%lu\n", dev, ino);
audit_log_end(ab);
@@ -937,19 +937,28 @@ static void audit_remove_parent_watches(struct audit_parent *parent)
struct audit_watch *w, *nextw;
struct audit_krule *r, *nextr;
struct audit_entry *e;
+ struct audit_buffer *ab;
mutex_lock(&audit_filter_mutex);
parent->flags |= AUDIT_PARENT_INVALID;
list_for_each_entry_safe(w, nextw, &parent->watches, wlist) {
list_for_each_entry_safe(r, nextr, &w->rules, rlist) {
e = container_of(r, struct audit_entry, rule);
+
+ ab = audit_log_start(NULL, GFP_KERNEL, AUDIT_CONFIG_CHANGE);
+ audit_log_format(ab, "audit implicitly removed rule path=");
+ audit_log_untrustedstring(ab, w->path);
+ if (r->filterkey) {
+ audit_log_format(ab, " key=");
+ audit_log_untrustedstring(ab, r->filterkey);
+ } else
+ audit_log_format(ab, " key=(null)");
+ audit_log_format(ab, " list=%d", r->listnr);
+ audit_log_end(ab);
+
list_del(&r->rlist);
list_del_rcu(&e->list);
call_rcu(&e->rcu, audit_free_rule_rcu);
-
- audit_log(NULL, GFP_KERNEL, AUDIT_CONFIG_CHANGE,
- "audit implicitly removed rule from list=%d\n",
- AUDIT_FILTER_EXIT);
}
audit_remove_watch(w);
}