Lines Matching refs:rule
63 * time and used in AUDIT_TREE rule matching.
69 * tree.rules anchors rule.rlist audit_filter_mutex
526 struct audit_krule *rule)
536 audit_log_untrustedstring(ab, rule->tree->pathname);
537 audit_log_key(ab, rule->filterkey);
538 audit_log_format(ab, " list=%d res=1", rule->listnr);
544 struct audit_krule *rule, *next;
547 list_for_each_entry_safe(rule, next, &tree->rules, rlist) {
548 entry = container_of(rule, struct audit_entry, rule);
550 list_del_init(&rule->rlist);
551 if (rule->tree) {
553 audit_tree_log_remove_rule(context, rule);
554 if (entry->rule.exe)
555 audit_remove_mark(entry->rule.exe);
556 rule->tree = NULL;
558 list_del(&entry->rule.list);
647 int audit_remove_tree_rule(struct audit_krule *rule)
650 tree = rule->tree;
653 list_del_init(&rule->rlist);
659 rule->tree = NULL;
664 rule->tree = NULL;
725 int audit_make_tree(struct audit_krule *rule, char *pathname, u32 op)
729 (rule->listnr != AUDIT_FILTER_EXIT &&
730 rule->listnr != AUDIT_FILTER_URING_EXIT) ||
732 rule->inode_f || rule->watch || rule->tree)
734 rule->tree = alloc_tree(pathname);
735 if (!rule->tree)
800 int audit_add_tree_rule(struct audit_krule *rule)
802 struct audit_tree *seed = rule->tree, *tree;
807 rule->tree = NULL;
811 rule->tree = tree;
812 list_add(&rule->rlist, &tree->rules);
818 list_add(&rule->rlist, &tree->rules);
819 /* do not set rule->tree yet */
854 if (list_empty(&rule->rlist)) {
858 rule->tree = tree;