aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/auditfilter.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/auditfilter.c')
-rw-r--r--kernel/auditfilter.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/kernel/auditfilter.c b/kernel/auditfilter.c
index 2c3c2f349b23..1bc6410413e6 100644
--- a/kernel/auditfilter.c
+++ b/kernel/auditfilter.c
@@ -1114,22 +1114,24 @@ int audit_rule_change(int type, int seq, void *data, size_t datasz)
1114 int err = 0; 1114 int err = 0;
1115 struct audit_entry *entry; 1115 struct audit_entry *entry;
1116 1116
1117 entry = audit_data_to_entry(data, datasz);
1118 if (IS_ERR(entry))
1119 return PTR_ERR(entry);
1120
1121 switch (type) { 1117 switch (type) {
1122 case AUDIT_ADD_RULE: 1118 case AUDIT_ADD_RULE:
1119 entry = audit_data_to_entry(data, datasz);
1120 if (IS_ERR(entry))
1121 return PTR_ERR(entry);
1123 err = audit_add_rule(entry); 1122 err = audit_add_rule(entry);
1124 audit_log_rule_change("add_rule", &entry->rule, !err); 1123 audit_log_rule_change("add_rule", &entry->rule, !err);
1125 break; 1124 break;
1126 case AUDIT_DEL_RULE: 1125 case AUDIT_DEL_RULE:
1126 entry = audit_data_to_entry(data, datasz);
1127 if (IS_ERR(entry))
1128 return PTR_ERR(entry);
1127 err = audit_del_rule(entry); 1129 err = audit_del_rule(entry);
1128 audit_log_rule_change("remove_rule", &entry->rule, !err); 1130 audit_log_rule_change("remove_rule", &entry->rule, !err);
1129 break; 1131 break;
1130 default: 1132 default:
1131 err = -EINVAL;
1132 WARN_ON(1); 1133 WARN_ON(1);
1134 return -EINVAL;
1133 } 1135 }
1134 1136
1135 if (err || type == AUDIT_DEL_RULE) { 1137 if (err || type == AUDIT_DEL_RULE) {