Lines Matching defs:expr
2026 static void __cil_expr_to_string(struct cil_list *expr, enum cil_flavor flavor, char **out);
2045 static void __cil_expr_to_string(struct cil_list *expr, enum cil_flavor flavor, char **out)
2052 if (expr == NULL || expr->head == NULL) {
2057 curr = expr->head;
2326 rc = __cil_cond_expr_to_sepol_expr(pdb, cil_boolif->datum_expr, &tmp_cond->expr);
2332 rc = __cil_validate_cond_expr(tmp_cond->expr);
2360 cond_expr_destroy(tmp_cond->expr);
2407 if (tmp_cond->expr)
2408 cond_expr_destroy(tmp_cond->expr);
2539 static int __cil_constrain_expr_datum_to_sepol_expr(policydb_t *pdb, const struct cil_db *db, struct cil_list_item *item, enum cil_flavor expr_flavor, constraint_expr_t *expr)
2559 if (ebitmap_set_bit(&expr->names, sepol_user->s.value - 1, 1)) {
2581 if (ebitmap_set_bit(&expr->names, sepol_role->s.value - 1, 1)) {
2605 rc = ebitmap_set_bit(&expr->type_names->types, sepol_type->s.value - 1, 1);
2623 if (ebitmap_set_bit(&expr->names, sepol_type->s.value - 1, 1)) {
2639 static int __cil_constrain_expr_leaf_to_sepol_expr(policydb_t *pdb, const struct cil_db *db, struct cil_list_item *op_item, enum cil_flavor expr_flavor, constraint_expr_t *expr)
2649 expr->attr = CEXPR_USER;
2652 expr->attr = CEXPR_USER | CEXPR_TARGET;
2655 expr->attr = CEXPR_USER | CEXPR_XTARGET;
2658 expr->attr = CEXPR_ROLE;
2661 expr->attr = CEXPR_ROLE | CEXPR_TARGET;
2664 expr->attr = CEXPR_ROLE | CEXPR_XTARGET;
2667 expr->attr = CEXPR_TYPE;
2670 expr->attr = CEXPR_TYPE | CEXPR_TARGET;
2673 expr->attr = CEXPR_TYPE | CEXPR_XTARGET;
2679 expr->attr = CEXPR_L1L2;
2681 expr->attr = CEXPR_L1H1;
2683 expr->attr = CEXPR_L1H2;
2688 expr->attr = CEXPR_L2H2;
2693 expr->attr = CEXPR_H1L2;
2695 expr->attr = CEXPR_H1H2;
2705 expr->expr_type = CEXPR_ATTR;
2707 expr->expr_type = CEXPR_NAMES;
2709 rc = __cil_constrain_expr_datum_to_sepol_expr(pdb, db, r_item, expr_flavor, expr);
2717 rc = __cil_constrain_expr_datum_to_sepol_expr(pdb, db, curr, expr_flavor, expr);
2890 static int cil_constrain_to_policydb_helper(policydb_t *pdb, const struct cil_db *db, struct cil_symtab_datum *class, struct cil_list *perms, struct cil_list *expr)
2914 rc = __cil_constrain_expr_to_sepol_expr(pdb, db, expr, &sepol_expr);
2924 sepol_constrain->expr = sepol_expr;
2936 static int cil_constrain_expand(policydb_t *pdb, const struct cil_db *db, struct cil_list *classperms, struct cil_list *expr)
2945 rc = cil_constrain_to_policydb_helper(pdb, db, DATUM(cp->class), cp->perms, expr);
2953 rc = cil_constrain_expand(pdb, db, cmp->classperms, expr);
2962 rc = cil_constrain_expand(pdb, db, cp->classperms, expr);
2993 struct cil_list *expr = cil_validatetrans->datum_expr;
3009 rc = __cil_constrain_expr_to_sepol_expr(pdb, db, expr, &sepol_expr);
3014 sepol_validatetrans->expr = sepol_expr;
4279 new_state = cond_evaluate_expr(pdb, cur->expr);