Lines Matching refs:node

34 		struct cond_expr_node *node = &expr->nodes[i];
36 switch (node->expr_type) {
41 s[sp] = p->bool_val_to_struct[node->bool - 1]->state;
88 * current state of the node it sets the rules in the true/false
92 static void evaluate_cond_node(struct policydb *p, struct cond_node *node)
98 new_state = cond_evaluate_expr(p, &node->expr);
99 if (new_state != node->cur_state) {
100 node->cur_state = new_state;
104 for (i = 0; i < node->true_list.len; i++) {
105 avnode = node->true_list.nodes[i];
112 for (i = 0; i < node->false_list.len; i++) {
113 avnode = node->false_list.nodes[i];
140 static void cond_node_destroy(struct cond_node *node)
142 kfree(node->expr.nodes);
144 kfree(node->true_list.nodes);
145 kfree(node->false_list.nodes);
375 static int cond_read_node(struct policydb *p, struct cond_node *node, void *fp)
385 node->cur_state = le32_to_cpu(buf[0]);
389 node->expr.nodes = kcalloc(len, sizeof(*node->expr.nodes), GFP_KERNEL);
390 if (!node->expr.nodes)
393 node->expr.len = len;
396 struct cond_expr_node *expr = &node->expr.nodes[i];
409 rc = cond_read_av_list(p, fp, &node->true_list, NULL);
412 return cond_read_av_list(p, fp, &node->false_list, &node->true_list);
501 static int cond_write_node(struct policydb *p, struct cond_node *node,
508 buf[0] = cpu_to_le32(node->cur_state);
513 buf[0] = cpu_to_le32(node->expr.len);
518 for (i = 0; i < node->expr.len; i++) {
519 buf[0] = cpu_to_le32(node->expr.nodes[i].expr_type);
520 buf[1] = cpu_to_le32(node->expr.nodes[i].bool);
526 rc = cond_write_av_list(p, &node->true_list, fp);
529 rc = cond_write_av_list(p, &node->false_list, fp);
559 struct avtab_node *node;
564 for (node = avtab_search_node(ctab, key); node;
565 node = avtab_search_node_next(node, key->specified)) {
566 if (node->key.specified & AVTAB_ENABLED)
567 services_compute_xperms_decision(xpermd, node);
578 struct avtab_node *node;
583 for (node = avtab_search_node(ctab, key); node;
584 node = avtab_search_node_next(node, key->specified)) {
586 (node->key.specified & (AVTAB_ALLOWED|AVTAB_ENABLED)))
587 avd->allowed |= node->datum.u.data;
589 (node->key.specified & (AVTAB_AUDITDENY|AVTAB_ENABLED)))
595 avd->auditdeny &= node->datum.u.data;
597 (node->key.specified & (AVTAB_AUDITALLOW|AVTAB_ENABLED)))
598 avd->auditallow |= node->datum.u.data;
599 if (xperms && (node->key.specified & AVTAB_ENABLED) &&
600 (node->key.specified & AVTAB_XPERMS))
601 services_compute_xperms_drivers(xperms, node);