[PATCH] audit: minimize our use of audit_log_format()
Richard Guy Briggs
rgb at redhat.com
Thu Nov 22 22:29:37 UTC 2018
On 2018-11-21 18:23, Paul Moore wrote:
> There are some cases where we are making multiple audit_log_format()
> calls in a row, for no apparent reason. Squash these down to a
> single audit_log_format() call whenever possible.
>
> Signed-off-by: Paul Moore <paul at paul-moore.com>
Ack. Looks good.
> ---
> kernel/audit.c | 11 +++++------
> kernel/audit_fsnotify.c | 3 +--
> kernel/audit_tree.c | 3 +--
> kernel/audit_watch.c | 3 +--
> kernel/auditsc.c | 7 +++----
> 5 files changed, 11 insertions(+), 16 deletions(-)
>
> diff --git a/kernel/audit.c b/kernel/audit.c
> index 6c53e373b828..d09298d3c2d2 100644
> --- a/kernel/audit.c
> +++ b/kernel/audit.c
> @@ -2177,22 +2177,21 @@ void audit_log_name(struct audit_context *context, struct audit_names *n,
> }
>
> /* log the audit_names record type */
> - audit_log_format(ab, " nametype=");
> switch(n->type) {
> case AUDIT_TYPE_NORMAL:
> - audit_log_format(ab, "NORMAL");
> + audit_log_format(ab, " nametype=NORMAL");
> break;
> case AUDIT_TYPE_PARENT:
> - audit_log_format(ab, "PARENT");
> + audit_log_format(ab, " nametype=PARENT");
> break;
> case AUDIT_TYPE_CHILD_DELETE:
> - audit_log_format(ab, "DELETE");
> + audit_log_format(ab, " nametype=DELETE");
> break;
> case AUDIT_TYPE_CHILD_CREATE:
> - audit_log_format(ab, "CREATE");
> + audit_log_format(ab, " nametype=CREATE");
> break;
> default:
> - audit_log_format(ab, "UNKNOWN");
> + audit_log_format(ab, " nametype=UNKNOWN");
> break;
> }
>
> diff --git a/kernel/audit_fsnotify.c b/kernel/audit_fsnotify.c
> index f90ffa699e5b..cf4512a33675 100644
> --- a/kernel/audit_fsnotify.c
> +++ b/kernel/audit_fsnotify.c
> @@ -131,8 +131,7 @@ static void audit_mark_log_rule_change(struct audit_fsnotify_mark *audit_mark, c
> if (unlikely(!ab))
> return;
> audit_log_session_info(ab);
> - audit_log_format(ab, " op=%s", op);
> - audit_log_format(ab, " path=");
> + audit_log_format(ab, " op=%s path=", op);
> audit_log_untrustedstring(ab, audit_mark->path);
> audit_log_key(ab, rule->filterkey);
> audit_log_format(ab, " list=%d res=1", rule->listnr);
> diff --git a/kernel/audit_tree.c b/kernel/audit_tree.c
> index 58e84eb5d826..d4af4d97f847 100644
> --- a/kernel/audit_tree.c
> +++ b/kernel/audit_tree.c
> @@ -533,8 +533,7 @@ static void audit_tree_log_remove_rule(struct audit_krule *rule)
> ab = audit_log_start(NULL, GFP_KERNEL, AUDIT_CONFIG_CHANGE);
> if (unlikely(!ab))
> return;
> - audit_log_format(ab, "op=remove_rule");
> - audit_log_format(ab, " dir=");
> + audit_log_format(ab, "op=remove_rule dir=");
> audit_log_untrustedstring(ab, rule->tree->pathname);
> audit_log_key(ab, rule->filterkey);
> audit_log_format(ab, " list=%d res=1", rule->listnr);
> diff --git a/kernel/audit_watch.c b/kernel/audit_watch.c
> index 568e48d1d0ab..20ef9ba134b0 100644
> --- a/kernel/audit_watch.c
> +++ b/kernel/audit_watch.c
> @@ -246,8 +246,7 @@ static void audit_watch_log_rule_change(struct audit_krule *r, struct audit_watc
> if (!ab)
> return;
> audit_log_session_info(ab);
> - audit_log_format(ab, "op=%s", op);
> - audit_log_format(ab, " path=");
> + audit_log_format(ab, "op=%s path=", op);
> audit_log_untrustedstring(ab, w->path);
> audit_log_key(ab, r->filterkey);
> audit_log_format(ab, " list=%d res=1", r->listnr);
> diff --git a/kernel/auditsc.c b/kernel/auditsc.c
> index 605f2d825204..51e735aedf58 100644
> --- a/kernel/auditsc.c
> +++ b/kernel/auditsc.c
> @@ -2503,10 +2503,9 @@ void audit_seccomp_actions_logged(const char *names, const char *old_names,
> if (unlikely(!ab))
> return;
>
> - audit_log_format(ab, "op=seccomp-logging");
> - audit_log_format(ab, " actions=%s", names);
> - audit_log_format(ab, " old-actions=%s", old_names);
> - audit_log_format(ab, " res=%d", res);
> + audit_log_format(ab,
> + "op=seccomp-logging actions=%s old-actions=%s res=%d",
> + names, old_names, res);
> audit_log_end(ab);
> }
>
>
> --
> Linux-audit mailing list
> Linux-audit at redhat.com
> https://www.redhat.com/mailman/listinfo/linux-audit
- RGB
--
Richard Guy Briggs <rgb at redhat.com>
Sr. S/W Engineer, Kernel Security, Base Operating Systems
Remote, Ottawa, Red Hat Canada
IRC: rgb, SunRaycer
Voice: +1.647.777.2635, Internal: (81) 32635
More information about the Linux-audit
mailing list