Skip to content

Commit

Permalink
audit: cull redundancy in audit_rule_change
Browse files Browse the repository at this point in the history
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>
Signed-off-by: Eric Paris <eparis@redhat.com>
  • Loading branch information
Richard Guy Briggs authored and Eric Paris committed Oct 10, 2014
1 parent 739c950 commit e85322d
Showing 1 changed file with 7 additions and 11 deletions.
18 changes: 7 additions & 11 deletions kernel/auditfilter.c
Original file line number Diff line number Diff line change
Expand Up @@ -1064,31 +1064,27 @@ 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:
err = -EINVAL;
WARN_ON(1);
}

if (err || type == AUDIT_DEL_RULE)
audit_free_rule(entry);

return err;
}

Expand Down

0 comments on commit e85322d

Please sign in to comment.