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->boolean - 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);
376 static int cond_read_node(struct policydb *p, struct cond_node *node, void *fp)
386 node->cur_state = le32_to_cpu(buf[0]);
390 node->expr.nodes = kcalloc(len, sizeof(*node->expr.nodes), GFP_KERNEL);
391 if (!node->expr.nodes)
394 node->expr.len = len;
397 struct cond_expr_node *expr = &node->expr.nodes[i];
410 rc = cond_read_av_list(p, fp, &node->true_list, NULL);
413 return cond_read_av_list(p, fp, &node->false_list, &node->true_list);
502 static int cond_write_node(struct policydb *p, struct cond_node *node,
509 buf[0] = cpu_to_le32(node->cur_state);
514 buf[0] = cpu_to_le32(node->expr.len);
519 for (i = 0; i < node->expr.len; i++) {
520 buf[0] = cpu_to_le32(node->expr.nodes[i].expr_type);
521 buf[1] = cpu_to_le32(node->expr.nodes[i].boolean);
527 rc = cond_write_av_list(p, &node->true_list, fp);
530 rc = cond_write_av_list(p, &node->false_list, fp);
560 struct avtab_node *node;
565 for (node = avtab_search_node(ctab, key); node;
566 node = avtab_search_node_next(node, key->specified)) {
567 if (node->key.specified & AVTAB_ENABLED)
568 services_compute_xperms_decision(xpermd, node);
577 struct avtab_node *node;
582 for (node = avtab_search_node(ctab, key); node;
583 node = avtab_search_node_next(node, key->specified)) {
585 (node->key.specified & (AVTAB_ALLOWED|AVTAB_ENABLED)))
586 avd->allowed |= node->datum.u.data;
588 (node->key.specified & (AVTAB_AUDITDENY|AVTAB_ENABLED)))
594 avd->auditdeny &= node->datum.u.data;
596 (node->key.specified & (AVTAB_AUDITALLOW|AVTAB_ENABLED)))
597 avd->auditallow |= node->datum.u.data;
598 if (xperms && (node->key.specified & AVTAB_ENABLED) &&
599 (node->key.specified & AVTAB_XPERMS))
600 services_compute_xperms_drivers(xperms, node);