X-Git-Url: https://git.karo-electronics.de/?a=blobdiff_plain;f=kernel%2Faudit_tree.c;h=8ad9545b8db9e67203c49f37ece0a3da30f42b28;hb=8be7cdccacfbfc707e7370cad9bb168defed636f;hp=8b509441f49a2f740a2d709c66cecc73d9896f1c;hpb=e6d9f0fb5f9ceca5f4945f12cd3e71efd3382c13;p=mv-sheeva.git diff --git a/kernel/audit_tree.c b/kernel/audit_tree.c index 8b509441f49..8ad9545b8db 100644 --- a/kernel/audit_tree.c +++ b/kernel/audit_tree.c @@ -450,6 +450,7 @@ static void kill_rules(struct audit_tree *tree) audit_log_end(ab); rule->tree = NULL; list_del_rcu(&entry->list); + list_del(&entry->rule.list); call_rcu(&entry->rcu, audit_free_rule_rcu); } } @@ -617,7 +618,7 @@ int audit_make_tree(struct audit_krule *rule, char *pathname, u32 op) if (pathname[0] != '/' || rule->listnr != AUDIT_FILTER_EXIT || - op & ~AUDIT_EQUAL || + op != Audit_equal || rule->inode_f || rule->watch || rule->tree) return -EINVAL; rule->tree = alloc_tree(pathname);