X-Git-Url: http://ftp.safe.ca/?a=blobdiff_plain;f=kernel%2Faudit_tree.c;h=8ad9545b8db9e67203c49f37ece0a3da30f42b28;hb=1267a8df209c7453d65acbdd56e3588954bf890b;hp=8b509441f49a2f740a2d709c66cecc73d9896f1c;hpb=8f7b0ba1c853919b85b54774775f567f30006107;p=safe%2Fjmp%2Flinux-2.6 diff --git a/kernel/audit_tree.c b/kernel/audit_tree.c index 8b50944..8ad9545 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);