Lines Matching full:pdb
68 policydb_t *pdb; member
78 policydb_t *pdb; member
83 static int __cil_get_sepol_user_datum(policydb_t *pdb, struct cil_symtab_datum *datum, user_datum_t… in __cil_get_sepol_user_datum() argument
85 *sepol_user = hashtab_search(pdb->p_users.table, datum->fqn); in __cil_get_sepol_user_datum()
94 static int __cil_get_sepol_role_datum(policydb_t *pdb, struct cil_symtab_datum *datum, role_datum_t… in __cil_get_sepol_role_datum() argument
96 *sepol_role = hashtab_search(pdb->p_roles.table, datum->fqn); in __cil_get_sepol_role_datum()
105 static int __cil_get_sepol_type_datum(policydb_t *pdb, struct cil_symtab_datum *datum, type_datum_t… in __cil_get_sepol_type_datum() argument
107 *sepol_type = hashtab_search(pdb->p_types.table, datum->fqn); in __cil_get_sepol_type_datum()
116 static int __cil_get_sepol_class_datum(policydb_t *pdb, struct cil_symtab_datum *datum, class_datum… in __cil_get_sepol_class_datum() argument
118 *sepol_class = hashtab_search(pdb->p_classes.table, datum->fqn); in __cil_get_sepol_class_datum()
127 static int __cil_get_sepol_cat_datum(policydb_t *pdb, struct cil_symtab_datum *datum, cat_datum_t *… in __cil_get_sepol_cat_datum() argument
129 *sepol_cat = hashtab_search(pdb->p_cats.table, datum->fqn); in __cil_get_sepol_cat_datum()
138 static int __cil_get_sepol_level_datum(policydb_t *pdb, struct cil_symtab_datum *datum, level_datum… in __cil_get_sepol_level_datum() argument
140 *sepol_level = hashtab_search(pdb->p_levels.table, datum->fqn); in __cil_get_sepol_level_datum()
243 int cil_common_to_policydb(policydb_t *pdb, struct cil_class *cil_common, common_datum_t **common_o… in cil_common_to_policydb() argument
254 rc = symtab_insert(pdb, SYM_COMMONS, key, sepol_common, SCOPE_DECL, 0, &value); in cil_common_to_policydb()
291 int cil_classorder_to_policydb(policydb_t *pdb, const struct cil_db *db, struct cil_class *class_va… in cil_classorder_to_policydb() argument
307 rc = symtab_insert(pdb, SYM_CLASSES, key, sepol_class, SCOPE_DECL, 0, &value); in cil_classorder_to_policydb()
327 sepol_common = hashtab_search(pdb->p_commons.table, key); in cil_classorder_to_policydb()
329 rc = cil_common_to_policydb(pdb, cil_common, &sepol_common); in cil_classorder_to_policydb()
368 int cil_role_to_policydb(policydb_t *pdb, struct cil_role *cil_role) in cil_role_to_policydb() argument
384 rc = symtab_insert(pdb, SYM_ROLES, (hashtab_key_t)key, sepol_role, SCOPE_DECL, 0, &value); in cil_role_to_policydb()
403 int cil_role_bounds_to_policydb(policydb_t *pdb, struct cil_role *cil_role) in cil_role_bounds_to_policydb() argument
410 rc = __cil_get_sepol_role_datum(pdb, DATUM(cil_role), &sepol_role); in cil_role_bounds_to_policydb()
413 rc = __cil_get_sepol_role_datum(pdb, DATUM(cil_role->bounds), &sepol_parent); in cil_role_bounds_to_policydb()
426 int cil_roletype_to_policydb(policydb_t *pdb, const struct cil_db *db, struct cil_role *role) in cil_roletype_to_policydb() argument
436 rc = __cil_get_sepol_role_datum(pdb, DATUM(role), &sepol_role); in cil_roletype_to_policydb()
440 rc = __cil_get_sepol_type_datum(pdb, DATUM(db->val_to_type[i]), &sepol_type); in cil_roletype_to_policydb()
457 int cil_type_to_policydb(policydb_t *pdb, struct cil_type *cil_type, void *type_value_to_cil[]) in cil_type_to_policydb() argument
468 rc = symtab_insert(pdb, SYM_TYPES, key, sepol_type, SCOPE_DECL, 0, &value); in cil_type_to_policydb()
486 int cil_type_bounds_to_policydb(policydb_t *pdb, struct cil_type *cil_type) in cil_type_bounds_to_policydb() argument
493 rc = __cil_get_sepol_type_datum(pdb, DATUM(cil_type), &sepol_type); in cil_type_bounds_to_policydb()
496 rc = __cil_get_sepol_type_datum(pdb, DATUM(cil_type->bounds), &sepol_parent); in cil_type_bounds_to_policydb()
509 int cil_typealias_to_policydb(policydb_t *pdb, struct cil_alias *cil_alias) in cil_typealias_to_policydb() argument
517 rc = __cil_get_sepol_type_datum(pdb, DATUM(cil_alias->actual), &sepol_type); in cil_typealias_to_policydb()
523 rc = symtab_insert(pdb, SYM_TYPES, key, sepol_alias, SCOPE_DECL, 0, NULL); in cil_typealias_to_policydb()
539 int cil_typepermissive_to_policydb(policydb_t *pdb, struct cil_typepermissive *cil_typeperm) in cil_typepermissive_to_policydb() argument
544 rc = __cil_get_sepol_type_datum(pdb, DATUM(cil_typeperm->type), &sepol_type); in cil_typepermissive_to_policydb()
547 if (ebitmap_set_bit(&pdb->permissive_map, sepol_type->s.value, 1)) { in cil_typepermissive_to_policydb()
560 int cil_typeattribute_to_policydb(policydb_t *pdb, struct cil_typeattribute *cil_attr, void *type_v… in cil_typeattribute_to_policydb() argument
577 rc = symtab_insert(pdb, SYM_TYPES, key, sepol_attr, SCOPE_DECL, 0, &value); in cil_typeattribute_to_policydb()
594 int __cil_typeattr_bitmap_init(policydb_t *pdb) in __cil_typeattr_bitmap_init() argument
598 pdb->type_attr_map = cil_malloc(pdb->p_types.nprim * sizeof(ebitmap_t)); in __cil_typeattr_bitmap_init()
599 pdb->attr_type_map = cil_malloc(pdb->p_types.nprim * sizeof(ebitmap_t)); in __cil_typeattr_bitmap_init()
602 for (i = 0; i < pdb->p_types.nprim; i++) { in __cil_typeattr_bitmap_init()
603 ebitmap_init(&pdb->type_attr_map[i]); in __cil_typeattr_bitmap_init()
604 ebitmap_init(&pdb->attr_type_map[i]); in __cil_typeattr_bitmap_init()
605 if (ebitmap_set_bit(&pdb->type_attr_map[i], i, 1)) { in __cil_typeattr_bitmap_init()
609 if (pdb->type_val_to_struct[i] && pdb->type_val_to_struct[i]->flavor != TYPE_ATTRIB) { in __cil_typeattr_bitmap_init()
610 if (ebitmap_set_bit(&pdb->attr_type_map[i], i, 1)) { in __cil_typeattr_bitmap_init()
624 int cil_typeattribute_to_bitmap(policydb_t *pdb, const struct cil_db *db, struct cil_typeattribute … in cil_typeattribute_to_bitmap() argument
636 if (pdb->type_attr_map == NULL) { in cil_typeattribute_to_bitmap()
637 rc = __cil_typeattr_bitmap_init(pdb); in cil_typeattribute_to_bitmap()
643 rc = __cil_get_sepol_type_datum(pdb, DATUM(cil_attr), &sepol_type); in cil_typeattribute_to_bitmap()
649 rc = __cil_get_sepol_type_datum(pdb, DATUM(db->val_to_type[i]), &sepol_type); in cil_typeattribute_to_bitmap()
652 ebitmap_set_bit(&pdb->type_attr_map[sepol_type->s.value - 1], value - 1, 1); in cil_typeattribute_to_bitmap()
653 ebitmap_set_bit(&pdb->attr_type_map[value - 1], sepol_type->s.value - 1, 1); in cil_typeattribute_to_bitmap()
661 int cil_policycap_to_policydb(policydb_t *pdb, struct cil_policycap *cil_polcap) in cil_policycap_to_policydb() argument
671 if (ebitmap_set_bit(&pdb->policycaps, capnum, 1)) { in cil_policycap_to_policydb()
681 int cil_user_to_policydb(policydb_t *pdb, struct cil_user *cil_user) in cil_user_to_policydb() argument
690 rc = symtab_insert(pdb, SYM_USERS, key, sepol_user, SCOPE_DECL, 0, &value); in cil_user_to_policydb()
705 int cil_user_bounds_to_policydb(policydb_t *pdb, struct cil_user *cil_user) in cil_user_bounds_to_policydb() argument
712 rc = __cil_get_sepol_user_datum(pdb, DATUM(cil_user), &sepol_user); in cil_user_bounds_to_policydb()
715 rc = __cil_get_sepol_user_datum(pdb, DATUM(cil_user->bounds), &sepol_parent); in cil_user_bounds_to_policydb()
728 int cil_userrole_to_policydb(policydb_t *pdb, const struct cil_db *db, struct cil_user *user) in cil_userrole_to_policydb() argument
737 rc = __cil_get_sepol_user_datum(pdb, DATUM(user), &sepol_user); in cil_userrole_to_policydb()
743 rc = __cil_get_sepol_role_datum(pdb, DATUM(db->val_to_role[i]), &sepol_role); in cil_userrole_to_policydb()
768 int cil_bool_to_policydb(policydb_t *pdb, struct cil_bool *cil_bool) in cil_bool_to_policydb() argument
777 rc = symtab_insert(pdb, SYM_BOOLS, key, sepol_bool, SCOPE_DECL, 0, &value); in cil_bool_to_policydb()
792 int cil_catorder_to_policydb(policydb_t *pdb, const struct cil_db *db) in cil_catorder_to_policydb() argument
807 rc = symtab_insert(pdb, SYM_CATS, key, sepol_cat, SCOPE_DECL, 0, &value); in cil_catorder_to_policydb()
823 int cil_catalias_to_policydb(policydb_t *pdb, struct cil_alias *cil_alias) in cil_catalias_to_policydb() argument
831 rc = __cil_get_sepol_cat_datum(pdb, DATUM(cil_alias->actual), &sepol_cat); in cil_catalias_to_policydb()
835 rc = symtab_insert(pdb, SYM_CATS, key, sepol_alias, SCOPE_DECL, 0, NULL); in cil_catalias_to_policydb()
851 int cil_sensitivityorder_to_policydb(policydb_t *pdb, const struct cil_db *db) in cil_sensitivityorder_to_policydb() argument
869 rc = symtab_insert(pdb, SYM_LEVELS, key, sepol_level, SCOPE_DECL, 0, &value); in cil_sensitivityorder_to_policydb()
888 int cil_sensalias_to_policydb(policydb_t *pdb, struct cil_alias *cil_alias) in cil_sensalias_to_policydb() argument
897 rc = __cil_get_sepol_level_datum(pdb, DATUM(cil_alias->actual), &sepol_level); in cil_sensalias_to_policydb()
901 rc = symtab_insert(pdb, SYM_LEVELS, key, sepol_alias, SCOPE_DECL, 0, NULL); in cil_sensalias_to_policydb()
977 int __cil_insert_type_rule(policydb_t *pdb, uint32_t kind, uint32_t src, uint32_t tgt, uint32_t obj… in __cil_insert_type_rule() argument
1005 existing = avtab_search_node(&pdb->te_avtab, &avtab_key); in __cil_insert_type_rule()
1013 pdb->p_type_val_to_name[src - 1], in __cil_insert_type_rule()
1014 pdb->p_type_val_to_name[tgt - 1], in __cil_insert_type_rule()
1015 pdb->p_class_val_to_name[obj - 1], in __cil_insert_type_rule()
1016 pdb->p_type_val_to_name[res - 1], in __cil_insert_type_rule()
1017 pdb->p_type_val_to_name[existing->datum.data - 1]); in __cil_insert_type_rule()
1026 rc = avtab_insert(&pdb->te_avtab, &avtab_key, &avtab_datum); in __cil_insert_type_rule()
1028 existing = avtab_search_node(&pdb->te_cond_avtab, &avtab_key); in __cil_insert_type_rule()
1046 pdb->p_type_val_to_name[src - 1], in __cil_insert_type_rule()
1047 pdb->p_type_val_to_name[tgt - 1], in __cil_insert_type_rule()
1048 pdb->p_class_val_to_name[obj - 1], in __cil_insert_type_rule()
1049 pdb->p_type_val_to_name[res - 1], in __cil_insert_type_rule()
1050 pdb->p_type_val_to_name[existing->datum.data - 1]); in __cil_insert_type_rule()
1063 …rc = __cil_cond_insert_rule(&pdb->te_cond_avtab, &avtab_key, &avtab_datum, cond_node, cond_flavor); in __cil_insert_type_rule()
1070 int __cil_type_rule_to_avtab(policydb_t *pdb, const struct cil_db *db, struct cil_type_rule *cil_ru… in __cil_type_rule_to_avtab() argument
1092 rc = __cil_get_sepol_type_datum(pdb, DATUM(cil_rule->result), &sepol_result); in __cil_type_rule_to_avtab()
1096 rc = __cil_get_sepol_type_datum(pdb, DATUM(db->val_to_type[i]), &sepol_src); in __cil_type_rule_to_avtab()
1100 rc = __cil_get_sepol_type_datum(pdb, DATUM(db->val_to_type[j]), &sepol_tgt); in __cil_type_rule_to_avtab()
1104 rc = __cil_get_sepol_class_datum(pdb, DATUM(c->data), &sepol_obj); in __cil_type_rule_to_avtab()
1107 …rc = __cil_insert_type_rule(pdb, kind, sepol_src->s.value, sepol_tgt->s.value, sepol_obj->s.value,… in __cil_type_rule_to_avtab()
1122 int cil_type_rule_to_policydb(policydb_t *pdb, const struct cil_db *db, struct cil_type_rule *cil_r… in cil_type_rule_to_policydb() argument
1124 return __cil_type_rule_to_avtab(pdb, db, cil_rule, NULL, CIL_FALSE); in cil_type_rule_to_policydb()
1127 int __cil_typetransition_to_avtab(policydb_t *pdb, const struct cil_db *db, struct cil_nametypetran… in __cil_typetransition_to_avtab() argument
1154 return __cil_type_rule_to_avtab(pdb, db, &trans, cond_node, cond_flavor); in __cil_typetransition_to_avtab()
1165 rc = __cil_get_sepol_type_datum(pdb, DATUM(typetrans->result), &sepol_result); in __cil_typetransition_to_avtab()
1169 rc = __cil_get_sepol_type_datum(pdb, DATUM(db->val_to_type[i]), &sepol_src); in __cil_typetransition_to_avtab()
1173 rc = __cil_get_sepol_type_datum(pdb, DATUM(db->val_to_type[j]), &sepol_tgt); in __cil_typetransition_to_avtab()
1177 rc = __cil_get_sepol_class_datum(pdb, DATUM(c->data), &sepol_obj); in __cil_typetransition_to_avtab()
1188 rc = hashtab_insert(pdb->filename_trans, in __cil_typetransition_to_avtab()
1193 otype = hashtab_search(pdb->filename_trans, in __cil_typetransition_to_avtab()
1223 int cil_typetransition_to_policydb(policydb_t *pdb, const struct cil_db *db, struct cil_nametypetra… in cil_typetransition_to_policydb() argument
1225 return __cil_typetransition_to_avtab(pdb, db, typetrans, NULL, CIL_FALSE); in cil_typetransition_to_policydb()
1278 int __cil_insert_avrule(policydb_t *pdb, uint32_t kind, uint32_t src, uint32_t tgt, uint32_t obj, u… in __cil_insert_avrule() argument
1306 avtab_dup = avtab_search(&pdb->te_avtab, &avtab_key); in __cil_insert_avrule()
1309 rc = avtab_insert(&pdb->te_avtab, &avtab_key, &avtab_datum); in __cil_insert_avrule()
1318 …rc = __cil_cond_insert_rule(&pdb->te_cond_avtab, &avtab_key, &avtab_datum, cond_node, cond_flavor); in __cil_insert_avrule()
1325 int __cil_avrule_expand_helper(policydb_t *pdb, uint16_t kind, struct cil_symtab_datum *src, struct… in __cil_avrule_expand_helper() argument
1333 rc = __cil_get_sepol_class_datum(pdb, DATUM(cp->class), &sepol_class); in __cil_avrule_expand_helper()
1348 rc = __cil_get_sepol_type_datum(pdb, src, &sepol_src); in __cil_avrule_expand_helper()
1351 rc = __cil_get_sepol_type_datum(pdb, tgt, &sepol_tgt); in __cil_avrule_expand_helper()
1354 …rc = __cil_insert_avrule(pdb, kind, sepol_src->s.value, sepol_tgt->s.value, sepol_class->s.value, … in __cil_avrule_expand_helper()
1366 int __cil_avrule_expand(policydb_t *pdb, uint16_t kind, struct cil_symtab_datum *src, struct cil_sy… in __cil_avrule_expand() argument
1375 rc = __cil_avrule_expand_helper(pdb, kind, src, tgt, cp, cond_node, cond_flavor); in __cil_avrule_expand()
1383 rc = __cil_avrule_expand(pdb, kind, src, tgt, cmp->classperms, cond_node, cond_flavor); in __cil_avrule_expand()
1392 rc = __cil_avrule_expand(pdb, kind, src, tgt, cp->classperms, cond_node, cond_flavor); in __cil_avrule_expand()
1421 int __cil_avrule_to_avtab(policydb_t *pdb, const struct cil_db *db, struct cil_avrule *cil_avrule, … in __cil_avrule_to_avtab() argument
1449 rc = __cil_avrule_expand(pdb, kind, src, src, classperms, cond_node, cond_flavor); in __cil_avrule_to_avtab()
1460 rc = __cil_avrule_expand(pdb, kind, src, tgt, classperms, cond_node, cond_flavor); in __cil_avrule_to_avtab()
1481 rc = __cil_avrule_expand(pdb, kind, src, tgt, classperms, cond_node, cond_flavor); in __cil_avrule_to_avtab()
1500 rc = __cil_avrule_expand(pdb, kind, src, tgt, classperms, cond_node, cond_flavor); in __cil_avrule_to_avtab()
1516 rc = __cil_avrule_expand(pdb, kind, src, tgt, classperms, cond_node, cond_flavor); in __cil_avrule_to_avtab()
1532 int cil_avrule_to_policydb(policydb_t *pdb, const struct cil_db *db, struct cil_avrule *cil_avrule) in cil_avrule_to_policydb() argument
1534 return __cil_avrule_to_avtab(pdb, db, cil_avrule, NULL, CIL_FALSE); in cil_avrule_to_policydb()
1640 struct policydb *pdb; in __cil_avrulex_ioctl_to_policydb() local
1649 pdb = args; in __cil_avrulex_ioctl_to_policydb()
1651 sepol_obj = pdb->class_val_to_struct[avtab_key->target_class - 1]; in __cil_avrulex_ioctl_to_policydb()
1669 rc = avtab_insert(&pdb->te_avtab, avtab_key, &avtab_datum); in __cil_avrulex_ioctl_to_policydb()
1752 int __cil_avrulex_to_hashtable_helper(policydb_t *pdb, uint16_t kind, struct cil_symtab_datum *src,… in __cil_avrulex_to_hashtable_helper() argument
1761 rc = __cil_get_sepol_type_datum(pdb, src, &sepol_src); in __cil_avrulex_to_hashtable_helper()
1764 rc = __cil_get_sepol_type_datum(pdb, tgt, &sepol_tgt); in __cil_avrulex_to_hashtable_helper()
1770 rc = __cil_get_sepol_class_datum(pdb, DATUM(c->data), &sepol_obj); in __cil_avrulex_to_hashtable_helper()
1792 int cil_avrulex_to_hashtable(policydb_t *pdb, const struct cil_db *db, struct cil_avrule *cil_avrul… in cil_avrulex_to_hashtable() argument
1818 rc = __cil_avrulex_to_hashtable_helper(pdb, kind, src, src, cil_avrulex->perms.x.permx, args); in cil_avrulex_to_hashtable()
1829 rc = __cil_avrulex_to_hashtable_helper(pdb, kind, src, tgt, cil_avrulex->perms.x.permx, args); in cil_avrulex_to_hashtable()
1850 rc = __cil_avrulex_to_hashtable_helper(pdb, kind, src, tgt, cil_avrulex->perms.x.permx, args); in cil_avrulex_to_hashtable()
1869 rc = __cil_avrulex_to_hashtable_helper(pdb, kind, src, tgt, cil_avrulex->perms.x.permx, args); in cil_avrulex_to_hashtable()
1885 rc = __cil_avrulex_to_hashtable_helper(pdb, kind, src, tgt, cil_avrulex->perms.x.permx, args); in cil_avrulex_to_hashtable()
1907 policydb_t *pdb = args->pdb; in __cil_cond_to_policydb_helper() local
1923 rc = __cil_typetransition_to_avtab(pdb, db, cil_typetrans, cond_node, cond_flavor); in __cil_cond_to_policydb_helper()
1931 rc = __cil_type_rule_to_avtab(pdb, db, cil_type_rule, cond_node, cond_flavor); in __cil_cond_to_policydb_helper()
1939 rc = __cil_avrule_to_avtab(pdb, db, cil_avrule, cond_node, cond_flavor); in __cil_cond_to_policydb_helper()
2043 static int __cil_cond_expr_to_sepol_expr_helper(policydb_t *pdb, struct cil_list *cil_expr, cond_ex…
2045 static int __cil_cond_item_to_sepol_expr(policydb_t *pdb, struct cil_list_item *item, cond_expr_t *… in __cil_cond_item_to_sepol_expr() argument
2051 cond_bool_datum_t *sepol_bool = hashtab_search(pdb->p_bools.table, key); in __cil_cond_item_to_sepol_expr()
2063 int rc = __cil_cond_expr_to_sepol_expr_helper(pdb, l, head, tail); in __cil_cond_item_to_sepol_expr()
2077 static int __cil_cond_expr_to_sepol_expr_helper(policydb_t *pdb, struct cil_list *cil_expr, cond_ex… in __cil_cond_expr_to_sepol_expr_helper() argument
2122 rc = __cil_cond_item_to_sepol_expr(pdb, item->next, &h1, &t1); in __cil_cond_expr_to_sepol_expr_helper()
2134 rc = __cil_cond_item_to_sepol_expr(pdb, item->next->next, &h2, &t2); in __cil_cond_expr_to_sepol_expr_helper()
2148 rc = __cil_cond_item_to_sepol_expr(pdb, item, &h1, &t1); in __cil_cond_expr_to_sepol_expr_helper()
2155 rc = __cil_cond_item_to_sepol_expr(pdb, item, &h2, &t2); in __cil_cond_expr_to_sepol_expr_helper()
2178 static int __cil_cond_expr_to_sepol_expr(policydb_t *pdb, struct cil_list *cil_expr, cond_expr_t **… in __cil_cond_expr_to_sepol_expr() argument
2183 rc = __cil_cond_expr_to_sepol_expr_helper(pdb, cil_expr, &head, &tail); in __cil_cond_expr_to_sepol_expr()
2192 int cil_booleanif_to_policydb(policydb_t *pdb, const struct cil_db *db, struct cil_tree_node *node) in cil_booleanif_to_policydb() argument
2207 tmp_cond = cond_node_create(pdb, NULL); in cil_booleanif_to_policydb()
2214 rc = __cil_cond_expr_to_sepol_expr(pdb, cil_boolif->datum_expr, &tmp_cond->expr); in cil_booleanif_to_policydb()
2222 rc = cond_normalize_expr(pdb, tmp_cond); in cil_booleanif_to_policydb()
2232 cond_node = cond_node_find(pdb, tmp_cond, pdb->cond_list, &was_created); in cil_booleanif_to_policydb()
2239 cond_node->next = pdb->cond_list; in cil_booleanif_to_policydb()
2240 pdb->cond_list = cond_node; in cil_booleanif_to_policydb()
2265 bool_args.pdb = pdb; in cil_booleanif_to_policydb()
2297 int cil_roletrans_to_policydb(policydb_t *pdb, const struct cil_db *db, struct cil_roletransition *… in cil_roletrans_to_policydb() argument
2320 rc = __cil_get_sepol_role_datum(pdb, DATUM(roletrans->result), &sepol_result); in cil_roletrans_to_policydb()
2324 rc = __cil_get_sepol_role_datum(pdb, DATUM(db->val_to_role[i]), &sepol_src); in cil_roletrans_to_policydb()
2328 rc = __cil_get_sepol_type_datum(pdb, DATUM(db->val_to_type[j]), &sepol_tgt); in cil_roletrans_to_policydb()
2333 rc = __cil_get_sepol_class_datum(pdb, DATUM(c->data), &sepol_obj); in cil_roletrans_to_policydb()
2359 new->next = pdb->role_tr; in cil_roletrans_to_policydb()
2360 pdb->role_tr = new; in cil_roletrans_to_policydb()
2380 int cil_roleallow_to_policydb(policydb_t *pdb, const struct cil_db *db, struct cil_roleallow *rolea… in cil_roleallow_to_policydb() argument
2397 rc = __cil_get_sepol_role_datum(pdb, DATUM(db->val_to_role[i]), &sepol_src); in cil_roleallow_to_policydb()
2401 rc = __cil_get_sepol_role_datum(pdb, DATUM(db->val_to_role[j]), &sepol_tgt); in cil_roleallow_to_policydb()
2409 sepol_roleallow->next = pdb->role_allow; in cil_roleallow_to_policydb()
2410 pdb->role_allow = sepol_roleallow; in cil_roleallow_to_policydb()
2422 int __cil_constrain_expr_datum_to_sepol_expr(policydb_t *pdb, const struct cil_db *db, struct cil_l… in __cil_constrain_expr_datum_to_sepol_expr() argument
2436 rc = __cil_get_sepol_user_datum(pdb, DATUM(db->val_to_user[i]), &sepol_user); in __cil_constrain_expr_datum_to_sepol_expr()
2458 rc = __cil_get_sepol_role_datum(pdb, DATUM(db->val_to_role[i]), &sepol_role); in __cil_constrain_expr_datum_to_sepol_expr()
2476 if (pdb->policyvers >= POLICYDB_VERSION_CONSTRAINT_NAMES) { in __cil_constrain_expr_datum_to_sepol_expr()
2477 rc = __cil_get_sepol_type_datum(pdb, item->data, &sepol_type); in __cil_constrain_expr_datum_to_sepol_expr()
2500 rc = __cil_get_sepol_type_datum(pdb, DATUM(db->val_to_type[i]), &sepol_type); in __cil_constrain_expr_datum_to_sepol_expr()
2522 int __cil_constrain_expr_leaf_to_sepol_expr(policydb_t *pdb, const struct cil_db *db, struct cil_li… in __cil_constrain_expr_leaf_to_sepol_expr() argument
2592 rc = __cil_constrain_expr_datum_to_sepol_expr(pdb, db, r_item, expr_flavor, expr); in __cil_constrain_expr_leaf_to_sepol_expr()
2600 rc = __cil_constrain_expr_datum_to_sepol_expr(pdb, db, curr, expr_flavor, expr); in __cil_constrain_expr_leaf_to_sepol_expr()
2617 int __cil_constrain_expr_to_sepol_expr_helper(policydb_t *pdb, const struct cil_db *db, const struc… in __cil_constrain_expr_to_sepol_expr_helper() argument
2674 rc = __cil_constrain_expr_leaf_to_sepol_expr(pdb, db, item, flavor, op); in __cil_constrain_expr_to_sepol_expr_helper()
2682 rc = __cil_constrain_expr_to_sepol_expr_helper(pdb, db, l_expr, &h1, &t1); in __cil_constrain_expr_to_sepol_expr_helper()
2692 rc = __cil_constrain_expr_to_sepol_expr_helper(pdb, db, l_expr, &h1, &t1); in __cil_constrain_expr_to_sepol_expr_helper()
2696 rc = __cil_constrain_expr_to_sepol_expr_helper(pdb, db, r_expr, &h2, &t2); in __cil_constrain_expr_to_sepol_expr_helper()
2714 int __cil_constrain_expr_to_sepol_expr(policydb_t *pdb, const struct cil_db *db, const struct cil_l… in __cil_constrain_expr_to_sepol_expr() argument
2719 rc = __cil_constrain_expr_to_sepol_expr_helper(pdb, db, cil_expr, &head, &tail); in __cil_constrain_expr_to_sepol_expr()
2729 int cil_constrain_to_policydb_helper(policydb_t *pdb, const struct cil_db *db, struct cil_symtab_da… in cil_constrain_to_policydb_helper() argument
2739 rc = __cil_get_sepol_class_datum(pdb, class, &sepol_class); in cil_constrain_to_policydb_helper()
2747 rc = __cil_constrain_expr_to_sepol_expr(pdb, db, expr, &sepol_expr); in cil_constrain_to_policydb_helper()
2763 int cil_constrain_expand(policydb_t *pdb, const struct cil_db *db, struct cil_list *classperms, str… in cil_constrain_expand() argument
2772 rc = cil_constrain_to_policydb_helper(pdb, db, DATUM(cp->class), cp->perms, expr); in cil_constrain_expand()
2780 rc = cil_constrain_expand(pdb, db, cmp->classperms, expr); in cil_constrain_expand()
2789 rc = cil_constrain_expand(pdb, db, cp->classperms, expr); in cil_constrain_expand()
2802 int cil_constrain_to_policydb(policydb_t *pdb, const struct cil_db *db, struct cil_constrain *cil_c… in cil_constrain_to_policydb() argument
2805 rc = cil_constrain_expand(pdb, db, cil_constrain->classperms, cil_constrain->datum_expr); in cil_constrain_to_policydb()
2817 int cil_validatetrans_to_policydb(policydb_t *pdb, const struct cil_db *db, struct cil_validatetran… in cil_validatetrans_to_policydb() argument
2830 rc = __cil_get_sepol_class_datum(pdb, DATUM(c->data), &sepol_class); in cil_validatetrans_to_policydb()
2836 rc = __cil_constrain_expr_to_sepol_expr(pdb, db, expr, &sepol_expr); in cil_validatetrans_to_policydb()
2854 int __cil_cats_to_mls_level(policydb_t *pdb, struct cil_cats *cats, mls_level_t *mls_level) in __cil_cats_to_mls_level() argument
2866 rc = __cil_get_sepol_cat_datum(pdb, j->data, &sepol_cat); in __cil_cats_to_mls_level()
2873 rc = __cil_get_sepol_cat_datum(pdb, i->data, &sepol_cat); in __cil_cats_to_mls_level()
2887 int cil_sepol_level_define(policydb_t *pdb, struct cil_sens *cil_sens) in cil_sepol_level_define() argument
2894 rc = __cil_get_sepol_level_datum(pdb, DATUM(cil_sens), &sepol_level); in cil_sepol_level_define()
2904 rc = __cil_cats_to_mls_level(pdb, cats, mls_level); in cil_sepol_level_define()
2920 int cil_level_to_mls_level(policydb_t *pdb, struct cil_level *cil_level, mls_level_t *mls_level) in cil_level_to_mls_level() argument
2927 rc = __cil_get_sepol_level_datum(pdb, DATUM(cil_sens), &sepol_level); in cil_level_to_mls_level()
2935 rc = __cil_cats_to_mls_level(pdb, cats, mls_level); in cil_level_to_mls_level()
2947 int __cil_levelrange_to_mls_range(policydb_t *pdb, struct cil_levelrange *cil_lvlrange, mls_range_t… in __cil_levelrange_to_mls_range() argument
2956 rc = cil_level_to_mls_level(pdb, low, mls_level); in __cil_levelrange_to_mls_range()
2963 rc = cil_level_to_mls_level(pdb, high, mls_level); in __cil_levelrange_to_mls_range()
2974 int cil_userlevel_userrange_to_policydb(policydb_t *pdb, struct cil_user *cil_user) in cil_userlevel_userrange_to_policydb() argument
2981 rc = __cil_get_sepol_user_datum(pdb, DATUM(cil_user), &sepol_user); in cil_userlevel_userrange_to_policydb()
2984 rc = cil_level_to_mls_level(pdb, cil_level, &sepol_user->exp_dfltlevel); in cil_userlevel_userrange_to_policydb()
2989 rc = __cil_levelrange_to_mls_range(pdb, cil_levelrange, &sepol_user->exp_range); in cil_userlevel_userrange_to_policydb()
3000 int __cil_context_to_sepol_context(policydb_t *pdb, struct cil_context *cil_context, context_struct… in __cil_context_to_sepol_context() argument
3008 rc = __cil_get_sepol_user_datum(pdb, DATUM(cil_context->user), &sepol_user); in __cil_context_to_sepol_context()
3011 rc = __cil_get_sepol_role_datum(pdb, DATUM(cil_context->role), &sepol_role); in __cil_context_to_sepol_context()
3014 rc = __cil_get_sepol_type_datum(pdb, DATUM(cil_context->type), &sepol_type); in __cil_context_to_sepol_context()
3021 if (pdb->mls == CIL_TRUE) { in __cil_context_to_sepol_context()
3024 rc = __cil_levelrange_to_mls_range(pdb, cil_lvlrange, &sepol_context->range); in __cil_context_to_sepol_context()
3038 int cil_sidorder_to_policydb(policydb_t *pdb, const struct cil_db *db) in cil_sidorder_to_policydb() argument
3058 ocontext_t *new_ocon = cil_add_ocontext(&pdb->ocontexts[OCON_ISID], &tail); in cil_sidorder_to_policydb()
3061 rc = __cil_context_to_sepol_context(pdb, cil_context, &new_ocon->context[0]); in cil_sidorder_to_policydb()
3075 int cil_rangetransition_to_policydb(policydb_t *pdb, const struct cil_db *db, struct cil_rangetrans… in cil_rangetransition_to_policydb() argument
3099 rc = __cil_get_sepol_type_datum(pdb, DATUM(db->val_to_type[i]), &sepol_src); in cil_rangetransition_to_policydb()
3103 rc = __cil_get_sepol_type_datum(pdb, DATUM(db->val_to_type[j]), &sepol_tgt); in cil_rangetransition_to_policydb()
3107 rc = __cil_get_sepol_class_datum(pdb, DATUM(c->data), &sepol_class); in cil_rangetransition_to_policydb()
3115 rc = __cil_levelrange_to_mls_range(pdb, rangetrans->range, newdatum); in cil_rangetransition_to_policydb()
3122 rc = hashtab_insert(pdb->range_tr, (hashtab_key_t)newkey, newdatum); in cil_rangetransition_to_policydb()
3125 o_range = hashtab_search(pdb->range_tr, (hashtab_key_t)newkey); in cil_rangetransition_to_policydb()
3154 int cil_ibpkeycon_to_policydb(policydb_t *pdb, struct cil_sort *ibpkeycons) in cil_ibpkeycon_to_policydb() argument
3163 ocontext_t *new_ocon = cil_add_ocontext(&pdb->ocontexts[OCON_IBPKEY], &tail); in cil_ibpkeycon_to_policydb()
3177 rc = __cil_context_to_sepol_context(pdb, cil_ibpkeycon->context, &new_ocon->context[0]); in cil_ibpkeycon_to_policydb()
3188 int cil_portcon_to_policydb(policydb_t *pdb, struct cil_sort *portcons) in cil_portcon_to_policydb() argument
3196 ocontext_t *new_ocon = cil_add_ocontext(&pdb->ocontexts[OCON_PORT], &tail); in cil_portcon_to_policydb()
3220 rc = __cil_context_to_sepol_context(pdb, cil_portcon->context, &new_ocon->context[0]); in cil_portcon_to_policydb()
3232 int cil_netifcon_to_policydb(policydb_t *pdb, struct cil_sort *netifcons) in cil_netifcon_to_policydb() argument
3239 ocontext_t *new_ocon = cil_add_ocontext(&pdb->ocontexts[OCON_NETIF], &tail); in cil_netifcon_to_policydb()
3244 rc = __cil_context_to_sepol_context(pdb, cil_netifcon->if_context, &new_ocon->context[0]); in cil_netifcon_to_policydb()
3249 rc = __cil_context_to_sepol_context(pdb, cil_netifcon->packet_context, &new_ocon->context[1]); in cil_netifcon_to_policydb()
3262 int cil_ibendportcon_to_policydb(policydb_t *pdb, struct cil_sort *ibendportcons) in cil_ibendportcon_to_policydb() argument
3269 ocontext_t *new_ocon = cil_add_ocontext(&pdb->ocontexts[OCON_IBENDPORT], &tail); in cil_ibendportcon_to_policydb()
3275 rc = __cil_context_to_sepol_context(pdb, cil_ibendportcon->context, &new_ocon->context[0]); in cil_ibendportcon_to_policydb()
3286 int cil_nodecon_to_policydb(policydb_t *pdb, struct cil_sort *nodecons) in cil_nodecon_to_policydb() argument
3298 new_ocon = cil_add_ocontext(&pdb->ocontexts[OCON_NODE], &tail); in cil_nodecon_to_policydb()
3302 new_ocon = cil_add_ocontext(&pdb->ocontexts[OCON_NODE6], &tail6); in cil_nodecon_to_policydb()
3311 rc = __cil_context_to_sepol_context(pdb, cil_nodecon->context, &new_ocon->context[0]); in cil_nodecon_to_policydb()
3323 int cil_fsuse_to_policydb(policydb_t *pdb, struct cil_sort *fsuses) in cil_fsuse_to_policydb() argument
3330 ocontext_t *new_ocon = cil_add_ocontext(&pdb->ocontexts[OCON_FSUSE], &tail); in cil_fsuse_to_policydb()
3336 rc = __cil_context_to_sepol_context(pdb, cil_fsuse->context, &new_ocon->context[0]); in cil_fsuse_to_policydb()
3348 int cil_genfscon_to_policydb(policydb_t *pdb, struct cil_sort *genfscons) in cil_genfscon_to_policydb() argument
3371 pdb->genfs = new_genfs; in cil_genfscon_to_policydb()
3380 rc = __cil_context_to_sepol_context(pdb, cil_genfscon->context, &new_ocon->context[0]); in cil_genfscon_to_policydb()
3392 int cil_pirqcon_to_policydb(policydb_t *pdb, struct cil_sort *pirqcons) in cil_pirqcon_to_policydb() argument
3399 ocontext_t *new_ocon = cil_add_ocontext(&pdb->ocontexts[OCON_XEN_PIRQ], &tail); in cil_pirqcon_to_policydb()
3404 rc = __cil_context_to_sepol_context(pdb, cil_pirqcon->context, &new_ocon->context[0]); in cil_pirqcon_to_policydb()
3416 int cil_iomemcon_to_policydb(policydb_t *pdb, struct cil_sort *iomemcons) in cil_iomemcon_to_policydb() argument
3423 ocontext_t *new_ocon = cil_add_ocontext(&pdb->ocontexts[OCON_XEN_IOMEM], &tail); in cil_iomemcon_to_policydb()
3429 rc = __cil_context_to_sepol_context(pdb, cil_iomemcon->context, &new_ocon->context[0]); in cil_iomemcon_to_policydb()
3441 int cil_ioportcon_to_policydb(policydb_t *pdb, struct cil_sort *ioportcons) in cil_ioportcon_to_policydb() argument
3448 ocontext_t *new_ocon = cil_add_ocontext(&pdb->ocontexts[OCON_XEN_IOPORT], &tail); in cil_ioportcon_to_policydb()
3454 rc = __cil_context_to_sepol_context(pdb, cil_ioportcon->context, &new_ocon->context[0]); in cil_ioportcon_to_policydb()
3466 int cil_pcidevicecon_to_policydb(policydb_t *pdb, struct cil_sort *pcidevicecons) in cil_pcidevicecon_to_policydb() argument
3473 ocontext_t *new_ocon = cil_add_ocontext(&pdb->ocontexts[OCON_XEN_PCIDEVICE], &tail); in cil_pcidevicecon_to_policydb()
3478 rc = __cil_context_to_sepol_context(pdb, cil_pcidevicecon->context, &new_ocon->context[0]); in cil_pcidevicecon_to_policydb()
3490 int cil_devicetreecon_to_policydb(policydb_t *pdb, struct cil_sort *devicetreecons) in cil_devicetreecon_to_policydb() argument
3497 ocontext_t *new_ocon = cil_add_ocontext(&pdb->ocontexts[OCON_XEN_DEVICETREE], &tail); in cil_devicetreecon_to_policydb()
3502 rc = __cil_context_to_sepol_context(pdb, cil_devicetreecon->context, &new_ocon->context[0]); in cil_devicetreecon_to_policydb()
3514 int cil_default_to_policydb(policydb_t *pdb, struct cil_default *def) in cil_default_to_policydb() argument
3526 int rc = __cil_get_sepol_class_datum(pdb, DATUM(c->data), &sepol_class); in cil_default_to_policydb()
3569 int cil_defaultrange_to_policydb(policydb_t *pdb, struct cil_defaultrange *def) in cil_defaultrange_to_policydb() argument
3581 int rc = __cil_get_sepol_class_datum(pdb, DATUM(c->data), &sepol_class); in cil_defaultrange_to_policydb()
3608 policydb_t *pdb; in __cil_node_to_policydb() local
3613 pdb = args->pdb; in __cil_node_to_policydb()
3628 rc = cil_role_to_policydb(pdb, node->data); in __cil_node_to_policydb()
3631 rc = cil_type_to_policydb(pdb, node->data, type_value_to_cil); in __cil_node_to_policydb()
3634 rc = cil_typeattribute_to_policydb(pdb, node->data, type_value_to_cil); in __cil_node_to_policydb()
3637 rc = cil_policycap_to_policydb(pdb, node->data); in __cil_node_to_policydb()
3640 rc = cil_user_to_policydb(pdb, node->data); in __cil_node_to_policydb()
3643 rc = cil_bool_to_policydb(pdb, node->data); in __cil_node_to_policydb()
3646 if (pdb->mls == CIL_TRUE) { in __cil_node_to_policydb()
3647 rc = cil_catalias_to_policydb(pdb, node->data); in __cil_node_to_policydb()
3651 if (pdb->mls == CIL_TRUE) { in __cil_node_to_policydb()
3652 rc = cil_sepol_level_define(pdb, node->data); in __cil_node_to_policydb()
3662 rc = cil_type_bounds_to_policydb(pdb, node->data); in __cil_node_to_policydb()
3665 rc = cil_typealias_to_policydb(pdb, node->data); in __cil_node_to_policydb()
3668 rc = cil_typepermissive_to_policydb(pdb, node->data); in __cil_node_to_policydb()
3671 rc = cil_typeattribute_to_bitmap(pdb, db, node->data); in __cil_node_to_policydb()
3674 if (pdb->mls == CIL_TRUE) { in __cil_node_to_policydb()
3675 rc = cil_sensalias_to_policydb(pdb, node->data); in __cil_node_to_policydb()
3679 rc = cil_role_bounds_to_policydb(pdb, node->data); in __cil_node_to_policydb()
3681 rc = cil_roletype_to_policydb(pdb, db, node->data); in __cil_node_to_policydb()
3684 rc = cil_user_bounds_to_policydb(pdb, node->data); in __cil_node_to_policydb()
3686 if (pdb->mls == CIL_TRUE) { in __cil_node_to_policydb()
3687 rc = cil_userlevel_userrange_to_policydb(pdb, node->data); in __cil_node_to_policydb()
3692 rc = cil_userrole_to_policydb(pdb, db, node->data); in __cil_node_to_policydb()
3695 rc = cil_type_rule_to_policydb(pdb, db, node->data); in __cil_node_to_policydb()
3707 rc = cil_roletrans_to_policydb(pdb, db, node->data, role_trans_table); in __cil_node_to_policydb()
3710 /*rc = cil_roleattributeset_to_policydb(pdb, node->data);*/ in __cil_node_to_policydb()
3713 rc = cil_typetransition_to_policydb(pdb, db, node->data); in __cil_node_to_policydb()
3716 rc = cil_constrain_to_policydb(pdb, db, node->data); in __cil_node_to_policydb()
3719 if (pdb->mls == CIL_TRUE) { in __cil_node_to_policydb()
3720 rc = cil_constrain_to_policydb(pdb, db, node->data); in __cil_node_to_policydb()
3724 rc = cil_validatetrans_to_policydb(pdb, db, node->data); in __cil_node_to_policydb()
3727 if (pdb->mls == CIL_TRUE) { in __cil_node_to_policydb()
3728 rc = cil_validatetrans_to_policydb(pdb, db, node->data); in __cil_node_to_policydb()
3732 if (pdb->mls == CIL_TRUE) { in __cil_node_to_policydb()
3733 rc = cil_rangetransition_to_policydb(pdb, db, node->data); in __cil_node_to_policydb()
3739 rc = cil_default_to_policydb(pdb, node->data); in __cil_node_to_policydb()
3742 rc = cil_defaultrange_to_policydb(pdb, node->data); in __cil_node_to_policydb()
3751 rc = cil_booleanif_to_policydb(pdb, db, node); in __cil_node_to_policydb()
3756 rc = cil_avrule_to_policydb(pdb, db, node->data); in __cil_node_to_policydb()
3763 rc = cil_avrulex_to_hashtable(pdb, db, node->data, args); in __cil_node_to_policydb()
3768 rc = cil_roleallow_to_policydb(pdb, db, node->data); in __cil_node_to_policydb()
3812 int __cil_contexts_to_policydb(policydb_t *pdb, const struct cil_db *db) in __cil_contexts_to_policydb() argument
3816 rc = cil_portcon_to_policydb(pdb, db->portcon); in __cil_contexts_to_policydb()
3821 rc = cil_netifcon_to_policydb(pdb, db->netifcon); in __cil_contexts_to_policydb()
3826 rc = cil_nodecon_to_policydb(pdb, db->nodecon); in __cil_contexts_to_policydb()
3831 rc = cil_fsuse_to_policydb(pdb, db->fsuse); in __cil_contexts_to_policydb()
3836 rc = cil_genfscon_to_policydb(pdb, db->genfscon); in __cil_contexts_to_policydb()
3841 rc = cil_ibpkeycon_to_policydb(pdb, db->ibpkeycon); in __cil_contexts_to_policydb()
3846 rc = cil_ibendportcon_to_policydb(pdb, db->ibendportcon); in __cil_contexts_to_policydb()
3852 rc = cil_pirqcon_to_policydb(pdb, db->pirqcon); in __cil_contexts_to_policydb()
3857 rc = cil_iomemcon_to_policydb(pdb, db->iomemcon); in __cil_contexts_to_policydb()
3862 rc = cil_ioportcon_to_policydb(pdb, db->ioportcon); in __cil_contexts_to_policydb()
3867 rc = cil_pcidevicecon_to_policydb(pdb, db->pcidevicecon); in __cil_contexts_to_policydb()
3872 rc = cil_devicetreecon_to_policydb(pdb, db->devicetreecon); in __cil_contexts_to_policydb()
3884 policydb_t *pdb = data; in __cil_common_val_array_insert() local
3887 if (common->s.value < 1 || common->s.value > pdb->p_commons.nprim) { in __cil_common_val_array_insert()
3890 pdb->p_common_val_to_name[common->s.value - 1] = (char *)key; in __cil_common_val_array_insert()
3897 policydb_t *pdb = data; in __cil_class_val_array_insert() local
3900 if (class->s.value < 1 || class->s.value > pdb->p_classes.nprim) { in __cil_class_val_array_insert()
3903 pdb->p_class_val_to_name[class->s.value - 1] = (char *)key; in __cil_class_val_array_insert()
3904 pdb->class_val_to_struct[class->s.value - 1] = class; in __cil_class_val_array_insert()
3911 policydb_t *pdb = data; in __cil_role_val_array_insert() local
3914 if (role->s.value < 1 || role->s.value > pdb->p_roles.nprim) { in __cil_role_val_array_insert()
3917 pdb->p_role_val_to_name[role->s.value - 1] = (char *)key; in __cil_role_val_array_insert()
3918 pdb->role_val_to_struct[role->s.value - 1] = role; in __cil_role_val_array_insert()
3925 policydb_t *pdb = data; in __cil_type_val_array_insert() local
3928 if (type->s.value < 1 || type->s.value > pdb->p_types.nprim) { in __cil_type_val_array_insert()
3931 pdb->p_type_val_to_name[type->s.value - 1] = (char *)key; in __cil_type_val_array_insert()
3932 pdb->type_val_to_struct[type->s.value - 1] = type; in __cil_type_val_array_insert()
3939 policydb_t *pdb = data; in __cil_user_val_array_insert() local
3942 if (user->s.value < 1 || user->s.value > pdb->p_users.nprim) { in __cil_user_val_array_insert()
3945 pdb->p_user_val_to_name[user->s.value - 1] = (char *)key; in __cil_user_val_array_insert()
3946 pdb->user_val_to_struct[user->s.value - 1] = user; in __cil_user_val_array_insert()
3953 policydb_t *pdb = data; in __cil_bool_val_array_insert() local
3956 if (bool->s.value < 1 || bool->s.value > pdb->p_bools.nprim) { in __cil_bool_val_array_insert()
3959 pdb->p_bool_val_to_name[bool->s.value - 1] = (char *)key; in __cil_bool_val_array_insert()
3960 pdb->bool_val_to_struct[bool->s.value - 1] = bool; in __cil_bool_val_array_insert()
3967 policydb_t *pdb = data; in __cil_level_val_array_insert() local
3970 if (level->level->sens < 1 || level->level->sens > pdb->p_levels.nprim) { in __cil_level_val_array_insert()
3973 pdb->p_sens_val_to_name[level->level->sens - 1] = (char *)key; in __cil_level_val_array_insert()
3980 policydb_t *pdb = data; in __cil_cat_val_array_insert() local
3983 if (cat->s.value < 1 || cat->s.value > pdb->p_cats.nprim) { in __cil_cat_val_array_insert()
3986 pdb->p_cat_val_to_name[cat->s.value - 1] = (char *)key; in __cil_cat_val_array_insert()
4052 static void __cil_set_conditional_state_and_flags(policydb_t *pdb) in __cil_set_conditional_state_and_flags() argument
4056 for (cur = pdb->cond_list; cur != NULL; cur = cur->next) { in __cil_set_conditional_state_and_flags()
4060 new_state = cond_evaluate_expr(pdb, cur->expr); in __cil_set_conditional_state_and_flags()
4089 struct policydb *pdb = NULL; in __cil_policydb_create() local
4100 pdb = &(*spdb)->p; in __cil_policydb_create()
4102 pdb->policy_type = POLICY_KERN; in __cil_policydb_create()
4103 pdb->target_platform = db->target_platform; in __cil_policydb_create()
4104 pdb->policyvers = db->policy_version; in __cil_policydb_create()
4105 pdb->handle_unknown = db->handle_unknown; in __cil_policydb_create()
4106 pdb->mls = db->mls; in __cil_policydb_create()
4115 int __cil_policydb_init(policydb_t *pdb, const struct cil_db *db, struct cil_class *class_value_to_… in __cil_policydb_init() argument
4122 pdb->handle_unknown = db->handle_unknown; in __cil_policydb_init()
4123 pdb->mls = db->mls; in __cil_policydb_init()
4125 rc = cil_classorder_to_policydb(pdb, db, class_value_to_cil, perm_value_to_cil); in __cil_policydb_init()
4130 if (pdb->mls == CIL_TRUE) { in __cil_policydb_init()
4131 rc = cil_catorder_to_policydb(pdb, db); in __cil_policydb_init()
4136 rc = cil_sensitivityorder_to_policydb(pdb, db); in __cil_policydb_init()
4142 rc = avtab_alloc(&pdb->te_avtab, MAX_AVTAB_SIZE); in __cil_policydb_init()
4147 rc = avtab_alloc(&pdb->te_cond_avtab, MAX_AVTAB_SIZE); in __cil_policydb_init()
4231 struct sepol_policydb *pdb = NULL; in cil_binary_create() local
4233 rc = __cil_policydb_create(db, &pdb); in cil_binary_create()
4238 rc = cil_binary_create_allocated_pdb(db, pdb); in cil_binary_create()
4243 *policydb = pdb; in cil_binary_create()
4248 sepol_policydb_free(pdb); in cil_binary_create()
4264 static int __cil_rule_to_sepol_class_perms(policydb_t *pdb, struct cil_list *classperms, class_perm… in __cil_rule_to_sepol_class_perms() argument
4276 rc = __cil_get_sepol_class_datum(pdb, DATUM(cp->class), &sepol_class); in __cil_rule_to_sepol_class_perms()
4294 rc = __cil_rule_to_sepol_class_perms(pdb, cmp->classperms, sepol_class_perms); in __cil_rule_to_sepol_class_perms()
4303 rc = __cil_rule_to_sepol_class_perms(pdb, cp->classperms, sepol_class_perms); in __cil_rule_to_sepol_class_perms()
4315 static int __cil_permx_to_sepol_class_perms(policydb_t *pdb, struct cil_permissionx *permx, class_p… in __cil_permx_to_sepol_class_perms() argument
4328 rc = __cil_get_sepol_class_datum(pdb, DATUM(c->data), &sepol_obj); in __cil_permx_to_sepol_class_perms()
4367 static int __cil_add_sepol_type(policydb_t *pdb, const struct cil_db *db, struct cil_symtab_datum *… in __cil_add_sepol_type() argument
4379 rc = __cil_get_sepol_type_datum(pdb, datum, &sepol_datum); in __cil_add_sepol_type()
4384 rc = __cil_get_sepol_type_datum(pdb, datum, &sepol_datum); in __cil_add_sepol_type()
4561 static int cil_check_neverallow(const struct cil_db *db, policydb_t *pdb, struct cil_tree_node *nod… in cil_check_neverallow() argument
4580 rc = __cil_add_sepol_type(pdb, db, cil_rule->src, &rule->stypes.types); in cil_check_neverallow()
4588 rc = __cil_add_sepol_type(pdb, db, cil_rule->tgt, &rule->ttypes.types); in cil_check_neverallow()
4595 rc = __cil_rule_to_sepol_class_perms(pdb, cil_rule->perms.classperms, &rule->perms); in cil_check_neverallow()
4600 rc = check_assertion(pdb, rule); in cil_check_neverallow()
4610 rc = __cil_permx_to_sepol_class_perms(pdb, cil_rule->perms.x.permx, &rule->perms); in cil_check_neverallow()
4622 rc = check_assertion(pdb, rule); in cil_check_neverallow()
4648 static int cil_check_neverallows(const struct cil_db *db, policydb_t *pdb, struct cil_list *neveral… in cil_check_neverallows() argument
4654 rc = cil_check_neverallow(db, pdb, item->data, violation); in cil_check_neverallows()
4664 static struct cil_list *cil_classperms_from_sepol(policydb_t *pdb, uint16_t class, uint32_t data, s… in cil_classperms_from_sepol() argument
4668 class_datum_t *sepol_class = pdb->class_val_to_struct[class - 1]; in cil_classperms_from_sepol()
4696 static int cil_avrule_from_sepol(policydb_t *pdb, avtab_ptr_t sepol_rule, struct cil_avrule *cil_ru… in cil_avrule_from_sepol() argument
4707 …cil_rule->perms.classperms = cil_classperms_from_sepol(pdb, k->target_class, d->data, class_value_… in cil_avrule_from_sepol()
4717 static int cil_check_type_bounds(const struct cil_db *db, policydb_t *pdb, void *type_value_to_cil,… in cil_check_type_bounds() argument
4731 rc = __cil_get_sepol_type_datum(pdb, DATUM(t), &child); in cil_check_type_bounds()
4734 rc = __cil_get_sepol_type_datum(pdb, DATUM(t->bounds), &parent); in cil_check_type_bounds()
4737 rc = bounds_check_type(NULL, pdb, child->s.value, parent->s.value, &bad, &numbad); in cil_check_type_bounds()
4758 …rc = cil_avrule_from_sepol(pdb, cur, &target, type_value_to_cil, class_value_to_cil, perm_value_to… in cil_check_type_bounds()
4802 policydb_t *pdb = &policydb->p; in cil_binary_create_allocated_pdb() local
4835 rc = __cil_policydb_init(pdb, db, class_value_to_cil, perm_value_to_cil); in cil_binary_create_allocated_pdb()
4856 extra_args.pdb = pdb; in cil_binary_create_allocated_pdb()
4872 rc = __cil_policydb_val_arrays_create(pdb); in cil_binary_create_allocated_pdb()
4880 rc = hashtab_map(avrulex_ioctl_table, __cil_avrulex_ioctl_to_policydb, pdb); in cil_binary_create_allocated_pdb()
4888 rc = cil_sidorder_to_policydb(pdb, db); in cil_binary_create_allocated_pdb()
4893 rc = __cil_contexts_to_policydb(pdb, db); in cil_binary_create_allocated_pdb()
4899 if (pdb->type_attr_map == NULL) { in cil_binary_create_allocated_pdb()
4900 rc = __cil_typeattr_bitmap_init(pdb); in cil_binary_create_allocated_pdb()
4907 cond_optimize_lists(pdb->cond_list); in cil_binary_create_allocated_pdb()
4908 __cil_set_conditional_state_and_flags(pdb); in cil_binary_create_allocated_pdb()
4913 rc = cil_check_neverallows(db, pdb, neverallows, &violation); in cil_binary_create_allocated_pdb()
4917 rc = bounds_check_users(NULL, pdb); in cil_binary_create_allocated_pdb()
4923 rc = bounds_check_roles(NULL, pdb); in cil_binary_create_allocated_pdb()
4929 …rc = cil_check_type_bounds(db, pdb, type_value_to_cil, class_value_to_cil, perm_value_to_cil, &vio… in cil_binary_create_allocated_pdb()
4940 if (hashtab_map(pdb->p_roles.table, policydb_role_cache, pdb)) { in cil_binary_create_allocated_pdb()
4946 if (hashtab_map(pdb->p_users.table, policydb_user_cache, pdb)) { in cil_binary_create_allocated_pdb()