|
@@ -2938,25 +2938,21 @@ int selinux_audit_rule_match(u32 sid, u32 field, u32 op, void *vrule,
|
|
|
struct selinux_audit_rule *rule = vrule;
|
|
|
int match = 0;
|
|
|
|
|
|
- if (!rule) {
|
|
|
- audit_log(actx, GFP_ATOMIC, AUDIT_SELINUX_ERR,
|
|
|
- "selinux_audit_rule_match: missing rule\n");
|
|
|
+ if (unlikely(!rule)) {
|
|
|
+ WARN_ONCE(1, "selinux_audit_rule_match: missing rule\n");
|
|
|
return -ENOENT;
|
|
|
}
|
|
|
|
|
|
read_lock(&policy_rwlock);
|
|
|
|
|
|
if (rule->au_seqno < latest_granting) {
|
|
|
- audit_log(actx, GFP_ATOMIC, AUDIT_SELINUX_ERR,
|
|
|
- "selinux_audit_rule_match: stale rule\n");
|
|
|
match = -ESTALE;
|
|
|
goto out;
|
|
|
}
|
|
|
|
|
|
ctxt = sidtab_search(&sidtab, sid);
|
|
|
- if (!ctxt) {
|
|
|
- audit_log(actx, GFP_ATOMIC, AUDIT_SELINUX_ERR,
|
|
|
- "selinux_audit_rule_match: unrecognized SID %d\n",
|
|
|
+ if (unlikely(!ctxt)) {
|
|
|
+ WARN_ONCE(1, "selinux_audit_rule_match: unrecognized SID %d\n",
|
|
|
sid);
|
|
|
match = -ENOENT;
|
|
|
goto out;
|