From: Eric Paris <eparis@redhat.com>
To: Richard Guy Briggs <rgb@redhat.com>
Cc: linux-audit@redhat.com, linux-kernel@vger.kernel.org,
sgrubb@redhat.com, aviro@redhat.com, pmoore@redhat.com
Subject: Re: [PATCH 2/7] audit: cull redundancy in audit_rule_change
Date: Fri, 10 Oct 2014 15:09:02 -0400 [thread overview]
Message-ID: <1412968142.15099.3.camel@redhat.com> (raw)
In-Reply-To: <92746f6d4ad17ce7af82d08f5b18443ca3b0c31b.1412285491.git.rgb@redhat.com>
On Thu, 2014-10-02 at 22:05 -0400, Richard Guy Briggs wrote:
> Re-factor audit_rule_change() to reduce the amount of code redundancy and
> simplify the logic.
>
> Signed-off-by: Richard Guy Briggs <rgb@redhat.com>
> ---
> kernel/auditfilter.c | 20 +++++++-------------
> 1 files changed, 7 insertions(+), 13 deletions(-)
>
> diff --git a/kernel/auditfilter.c b/kernel/auditfilter.c
> index 4a11697..e3378a4 100644
> --- a/kernel/auditfilter.c
> +++ b/kernel/auditfilter.c
> @@ -1064,30 +1064,24 @@ int audit_rule_change(int type, __u32 portid, int seq, void *data,
> int err = 0;
> struct audit_entry *entry;
>
> + entry = audit_data_to_entry(data, datasz);
> + if (IS_ERR(entry))
> + return PTR_ERR(entry);
> +
> switch (type) {
> case AUDIT_ADD_RULE:
> - entry = audit_data_to_entry(data, datasz);
> - if (IS_ERR(entry))
> - return PTR_ERR(entry);
> -
> err = audit_add_rule(entry);
> audit_log_rule_change("add_rule", &entry->rule, !err);
> - if (err)
> - audit_free_rule(entry);
> break;
> case AUDIT_DEL_RULE:
> - entry = audit_data_to_entry(data, datasz);
> - if (IS_ERR(entry))
> - return PTR_ERR(entry);
> -
> err = audit_del_rule(entry);
> audit_log_rule_change("remove_rule", &entry->rule, !err);
> - audit_free_rule(entry);
> break;
> - default:
> - return -EINVAL;
I left the default case and made it:
err = -EINVAL;
WARN_ON(1);
Seemed like better defensive coding....
> }
>
> + if (err || type == AUDIT_DEL_RULE)
> + audit_free_rule(entry);
> +
> return err;
> }
>
next prev parent reply other threads:[~2014-10-10 19:09 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-02 21:38 [PATCH 0/7] audit fsnotify cleanups for watches and trees Richard Guy Briggs
2014-10-03 2:05 ` [PATCH 1/7] audit: put rule existence check in canonical order Richard Guy Briggs
2014-10-03 2:05 ` Richard Guy Briggs
2014-10-03 2:05 ` [PATCH 2/7] audit: cull redundancy in audit_rule_change Richard Guy Briggs
2014-10-10 19:09 ` Eric Paris [this message]
2014-10-03 2:05 ` [PATCH 3/7] audit: eliminate string copy for new tree rules Richard Guy Briggs
2014-10-03 2:05 ` Richard Guy Briggs
2014-10-10 19:13 ` Eric Paris
2014-10-03 2:05 ` [PATCH 4/7] audit: optimize add to parent skipping needless search and consuming parent ref Richard Guy Briggs
2014-10-03 2:05 ` Richard Guy Briggs
2014-10-10 19:29 ` Eric Paris
2014-10-03 2:05 ` [PATCH 5/7] audit: remove redundant watch refcount Richard Guy Briggs
2014-10-10 19:44 ` Eric Paris
2014-10-03 2:05 ` [PATCH 6/7] audit: remove extra audit_get_parent() Richard Guy Briggs
2014-10-03 2:05 ` Richard Guy Briggs
2014-10-03 2:05 ` [PATCH 7/7] audit: rename audit_log_remove_rule to disambiguate for trees Richard Guy Briggs
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1412968142.15099.3.camel@redhat.com \
--to=eparis@redhat.com \
--cc=aviro@redhat.com \
--cc=linux-audit@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=pmoore@redhat.com \
--cc=rgb@redhat.com \
--cc=sgrubb@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.