Lines Matching defs:expr
19 * cond_evaluate_expr evaluates a conditional expr
24 static int cond_evaluate_expr(struct policydb *p, struct cond_expr *expr)
30 if (expr->len == 0)
33 for (i = 0; i < expr->len; i++) {
34 struct cond_expr_node *node = &expr->nodes[i];
98 new_state = cond_evaluate_expr(p, &node->expr);
142 kfree(node->expr.nodes);
361 static int expr_node_isvalid(struct policydb *p, struct cond_expr_node *expr)
363 if (expr->expr_type <= 0 || expr->expr_type > COND_LAST) {
368 if (expr->bool > p->p_bools.nprim) {
387 /* expr */
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];
402 expr->expr_type = le32_to_cpu(buf[0]);
403 expr->bool = le32_to_cpu(buf[1]);
405 if (!expr_node_isvalid(p, expr))
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);
652 newn->expr.nodes = kcalloc(orign->expr.len,
653 sizeof(*newn->expr.nodes), GFP_KERNEL);
654 if (!newn->expr.nodes)
656 for (j = 0; j < orign->expr.len; j++)
657 newn->expr.nodes[j] = orign->expr.nodes[j];
658 newn->expr.len = orign->expr.len;