Lines Matching refs:node
89 int evaluate_cond_node(struct policydb *p, struct cond_node *node) in evaluate_cond_node() argument
94 new_state = cond_evaluate_expr(p, node->expr); in evaluate_cond_node()
95 if (new_state != node->cur_state) { in evaluate_cond_node()
96 node->cur_state = new_state; in evaluate_cond_node()
100 for (cur = node->true_list; cur; cur = cur->next) { in evaluate_cond_node()
102 cur->node->key.specified &= ~AVTAB_ENABLED; in evaluate_cond_node()
104 cur->node->key.specified |= AVTAB_ENABLED; in evaluate_cond_node()
107 for (cur = node->false_list; cur; cur = cur->next) { in evaluate_cond_node()
110 cur->node->key.specified &= ~AVTAB_ENABLED; in evaluate_cond_node()
112 cur->node->key.specified |= AVTAB_ENABLED; in evaluate_cond_node()
142 static void cond_node_destroy(struct cond_node *node) in cond_node_destroy() argument
146 for (cur_expr = node->expr; cur_expr; cur_expr = next_expr) { in cond_node_destroy()
150 cond_av_list_destroy(node->true_list); in cond_node_destroy()
151 cond_av_list_destroy(node->false_list); in cond_node_destroy()
152 kfree(node); in cond_node_destroy()
306 if (cur->node == node_ptr) { in cond_insertf()
337 list->node = node_ptr; in cond_insertf()
398 static int cond_read_node(struct policydb *p, struct cond_node *node, void *fp) in cond_read_node() argument
409 node->cur_state = le32_to_cpu(buf[0]); in cond_read_node()
434 node->expr = expr; in cond_read_node()
440 rc = cond_read_av_list(p, fp, &node->true_list, NULL); in cond_read_node()
443 rc = cond_read_av_list(p, fp, &node->false_list, node->true_list); in cond_read_node()
448 cond_node_destroy(node); in cond_read_node()
454 struct cond_node *node, *last = NULL; in cond_read_list() local
471 node = kzalloc(sizeof(struct cond_node), GFP_KERNEL); in cond_read_list()
472 if (!node) in cond_read_list()
475 rc = cond_read_node(p, node, fp); in cond_read_list()
480 p->cond_list = node; in cond_read_list()
482 last->next = node; in cond_read_list()
483 last = node; in cond_read_list()
545 rc = avtab_write_item(p, cur_list->node, fp); in cond_write_av_list()
553 static int cond_write_node(struct policydb *p, struct cond_node *node, in cond_write_node() argument
561 buf[0] = cpu_to_le32(node->cur_state); in cond_write_node()
566 for (cur_expr = node->expr; cur_expr != NULL; cur_expr = cur_expr->next) in cond_write_node()
574 for (cur_expr = node->expr; cur_expr != NULL; cur_expr = cur_expr->next) { in cond_write_node()
582 rc = cond_write_av_list(p, node->true_list, fp); in cond_write_node()
585 rc = cond_write_av_list(p, node->false_list, fp); in cond_write_node()
620 struct avtab_node *node; in cond_compute_av() local
625 for (node = avtab_search_node(ctab, key); node; in cond_compute_av()
626 node = avtab_search_node_next(node, key->specified)) { in cond_compute_av()
628 (node->key.specified & (AVTAB_ALLOWED|AVTAB_ENABLED))) in cond_compute_av()
629 avd->allowed |= node->datum.data; in cond_compute_av()
631 (node->key.specified & (AVTAB_AUDITDENY|AVTAB_ENABLED))) in cond_compute_av()
637 avd->auditdeny &= node->datum.data; in cond_compute_av()
639 (node->key.specified & (AVTAB_AUDITALLOW|AVTAB_ENABLED))) in cond_compute_av()
640 avd->auditallow |= node->datum.data; in cond_compute_av()