• Home
  • Raw
  • Download

Lines Matching full:pdb

64 	policydb_t *pdb;  member
74 policydb_t *pdb; member
79 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
81 *sepol_user = hashtab_search(pdb->p_users.table, datum->fqn); in __cil_get_sepol_user_datum()
90 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
92 *sepol_role = hashtab_search(pdb->p_roles.table, datum->fqn); in __cil_get_sepol_role_datum()
101 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
103 *sepol_type = hashtab_search(pdb->p_types.table, datum->fqn); in __cil_get_sepol_type_datum()
112 static int __cil_get_sepol_class_datum(policydb_t *pdb, struct cil_symtab_datum *datum, class_datum… in __cil_get_sepol_class_datum() argument
114 *sepol_class = hashtab_search(pdb->p_classes.table, datum->fqn); in __cil_get_sepol_class_datum()
123 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
125 *sepol_cat = hashtab_search(pdb->p_cats.table, datum->fqn); in __cil_get_sepol_cat_datum()
134 static int __cil_get_sepol_level_datum(policydb_t *pdb, struct cil_symtab_datum *datum, level_datum… in __cil_get_sepol_level_datum() argument
136 *sepol_level = hashtab_search(pdb->p_levels.table, datum->fqn); in __cil_get_sepol_level_datum()
239 int cil_common_to_policydb(policydb_t *pdb, struct cil_class *cil_common, common_datum_t **common_o… in cil_common_to_policydb() argument
250 rc = symtab_insert(pdb, SYM_COMMONS, key, sepol_common, SCOPE_DECL, 0, &value); in cil_common_to_policydb()
287 int cil_classorder_to_policydb(policydb_t *pdb, const struct cil_db *db, struct cil_class *class_va… in cil_classorder_to_policydb() argument
303 rc = symtab_insert(pdb, SYM_CLASSES, key, sepol_class, SCOPE_DECL, 0, &value); in cil_classorder_to_policydb()
323 sepol_common = hashtab_search(pdb->p_commons.table, key); in cil_classorder_to_policydb()
325 rc = cil_common_to_policydb(pdb, cil_common, &sepol_common); in cil_classorder_to_policydb()
364 int cil_role_to_policydb(policydb_t *pdb, struct cil_role *cil_role) in cil_role_to_policydb() argument
380 rc = symtab_insert(pdb, SYM_ROLES, (hashtab_key_t)key, sepol_role, SCOPE_DECL, 0, &value); in cil_role_to_policydb()
399 int cil_role_bounds_to_policydb(policydb_t *pdb, struct cil_role *cil_role) in cil_role_bounds_to_policydb() argument
406 rc = __cil_get_sepol_role_datum(pdb, DATUM(cil_role), &sepol_role); in cil_role_bounds_to_policydb()
409 rc = __cil_get_sepol_role_datum(pdb, DATUM(cil_role->bounds), &sepol_parent); in cil_role_bounds_to_policydb()
422 int cil_roletype_to_policydb(policydb_t *pdb, const struct cil_db *db, struct cil_role *role) in cil_roletype_to_policydb() argument
432 rc = __cil_get_sepol_role_datum(pdb, DATUM(role), &sepol_role); in cil_roletype_to_policydb()
436 rc = __cil_get_sepol_type_datum(pdb, DATUM(db->val_to_type[i]), &sepol_type); in cil_roletype_to_policydb()
453 int cil_type_to_policydb(policydb_t *pdb, struct cil_type *cil_type, void *type_value_to_cil[]) in cil_type_to_policydb() argument
464 rc = symtab_insert(pdb, SYM_TYPES, key, sepol_type, SCOPE_DECL, 0, &value); in cil_type_to_policydb()
482 int cil_type_bounds_to_policydb(policydb_t *pdb, struct cil_type *cil_type) in cil_type_bounds_to_policydb() argument
489 rc = __cil_get_sepol_type_datum(pdb, DATUM(cil_type), &sepol_type); in cil_type_bounds_to_policydb()
492 rc = __cil_get_sepol_type_datum(pdb, DATUM(cil_type->bounds), &sepol_parent); in cil_type_bounds_to_policydb()
505 int cil_typealias_to_policydb(policydb_t *pdb, struct cil_alias *cil_alias) in cil_typealias_to_policydb() argument
513 rc = __cil_get_sepol_type_datum(pdb, DATUM(cil_alias->actual), &sepol_type); in cil_typealias_to_policydb()
519 rc = symtab_insert(pdb, SYM_TYPES, key, sepol_alias, SCOPE_DECL, 0, NULL); in cil_typealias_to_policydb()
535 int cil_typepermissive_to_policydb(policydb_t *pdb, struct cil_typepermissive *cil_typeperm) in cil_typepermissive_to_policydb() argument
540 rc = __cil_get_sepol_type_datum(pdb, DATUM(cil_typeperm->type), &sepol_type); in cil_typepermissive_to_policydb()
543 if (ebitmap_set_bit(&pdb->permissive_map, sepol_type->s.value, 1)) { in cil_typepermissive_to_policydb()
556 int cil_typeattribute_to_policydb(policydb_t *pdb, struct cil_typeattribute *cil_attr, void *type_v… in cil_typeattribute_to_policydb() argument
573 rc = symtab_insert(pdb, SYM_TYPES, key, sepol_attr, SCOPE_DECL, 0, &value); in cil_typeattribute_to_policydb()
590 int __cil_typeattr_bitmap_init(policydb_t *pdb) in __cil_typeattr_bitmap_init() argument
595 pdb->type_attr_map = cil_malloc(pdb->p_types.nprim * sizeof(ebitmap_t)); in __cil_typeattr_bitmap_init()
596 pdb->attr_type_map = cil_malloc(pdb->p_types.nprim * sizeof(ebitmap_t)); in __cil_typeattr_bitmap_init()
598 for (i = 0; i < pdb->p_types.nprim; i++) { in __cil_typeattr_bitmap_init()
599 ebitmap_init(&pdb->type_attr_map[i]); in __cil_typeattr_bitmap_init()
600 ebitmap_init(&pdb->attr_type_map[i]); in __cil_typeattr_bitmap_init()
601 if (ebitmap_set_bit(&pdb->type_attr_map[i], i, 1)) { in __cil_typeattr_bitmap_init()
605 if (pdb->type_val_to_struct[i] && pdb->type_val_to_struct[i]->flavor != TYPE_ATTRIB) { in __cil_typeattr_bitmap_init()
606 if (ebitmap_set_bit(&pdb->attr_type_map[i], i, 1)) { in __cil_typeattr_bitmap_init()
620 int cil_typeattribute_to_bitmap(policydb_t *pdb, const struct cil_db *db, struct cil_typeattribute … in cil_typeattribute_to_bitmap() argument
632 if (pdb->type_attr_map == NULL) { in cil_typeattribute_to_bitmap()
633 rc = __cil_typeattr_bitmap_init(pdb); in cil_typeattribute_to_bitmap()
639 rc = __cil_get_sepol_type_datum(pdb, DATUM(cil_attr), &sepol_type); in cil_typeattribute_to_bitmap()
645 rc = __cil_get_sepol_type_datum(pdb, DATUM(db->val_to_type[i]), &sepol_type); in cil_typeattribute_to_bitmap()
648 ebitmap_set_bit(&pdb->type_attr_map[sepol_type->s.value - 1], value - 1, 1); in cil_typeattribute_to_bitmap()
649 ebitmap_set_bit(&pdb->attr_type_map[value - 1], sepol_type->s.value - 1, 1); in cil_typeattribute_to_bitmap()
657 int cil_policycap_to_policydb(policydb_t *pdb, struct cil_policycap *cil_polcap) in cil_policycap_to_policydb() argument
667 if (ebitmap_set_bit(&pdb->policycaps, capnum, 1)) { in cil_policycap_to_policydb()
677 int cil_user_to_policydb(policydb_t *pdb, struct cil_user *cil_user) in cil_user_to_policydb() argument
686 rc = symtab_insert(pdb, SYM_USERS, key, sepol_user, SCOPE_DECL, 0, &value); in cil_user_to_policydb()
701 int cil_user_bounds_to_policydb(policydb_t *pdb, struct cil_user *cil_user) in cil_user_bounds_to_policydb() argument
708 rc = __cil_get_sepol_user_datum(pdb, DATUM(cil_user), &sepol_user); in cil_user_bounds_to_policydb()
711 rc = __cil_get_sepol_user_datum(pdb, DATUM(cil_user->bounds), &sepol_parent); in cil_user_bounds_to_policydb()
724 int cil_userrole_to_policydb(policydb_t *pdb, const struct cil_db *db, struct cil_user *user) in cil_userrole_to_policydb() argument
733 rc = __cil_get_sepol_user_datum(pdb, DATUM(user), &sepol_user); in cil_userrole_to_policydb()
739 rc = __cil_get_sepol_role_datum(pdb, DATUM(db->val_to_role[i]), &sepol_role); in cil_userrole_to_policydb()
764 int cil_bool_to_policydb(policydb_t *pdb, struct cil_bool *cil_bool) in cil_bool_to_policydb() argument
773 rc = symtab_insert(pdb, SYM_BOOLS, key, sepol_bool, SCOPE_DECL, 0, &value); in cil_bool_to_policydb()
788 int cil_catorder_to_policydb(policydb_t *pdb, const struct cil_db *db) in cil_catorder_to_policydb() argument
803 rc = symtab_insert(pdb, SYM_CATS, key, sepol_cat, SCOPE_DECL, 0, &value); in cil_catorder_to_policydb()
819 int cil_catalias_to_policydb(policydb_t *pdb, struct cil_alias *cil_alias) in cil_catalias_to_policydb() argument
827 rc = __cil_get_sepol_cat_datum(pdb, DATUM(cil_alias->actual), &sepol_cat); in cil_catalias_to_policydb()
831 rc = symtab_insert(pdb, SYM_CATS, key, sepol_alias, SCOPE_DECL, 0, NULL); in cil_catalias_to_policydb()
847 int cil_sensitivityorder_to_policydb(policydb_t *pdb, const struct cil_db *db) in cil_sensitivityorder_to_policydb() argument
865 rc = symtab_insert(pdb, SYM_LEVELS, key, sepol_level, SCOPE_DECL, 0, &value); in cil_sensitivityorder_to_policydb()
884 int cil_sensalias_to_policydb(policydb_t *pdb, struct cil_alias *cil_alias) in cil_sensalias_to_policydb() argument
893 rc = __cil_get_sepol_level_datum(pdb, DATUM(cil_alias->actual), &sepol_level); in cil_sensalias_to_policydb()
897 rc = symtab_insert(pdb, SYM_LEVELS, key, sepol_alias, SCOPE_DECL, 0, NULL); in cil_sensalias_to_policydb()
973 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
1001 existing = avtab_search_node(&pdb->te_avtab, &avtab_key); in __cil_insert_type_rule()
1009 pdb->p_type_val_to_name[src - 1], in __cil_insert_type_rule()
1010 pdb->p_type_val_to_name[tgt - 1], in __cil_insert_type_rule()
1011 pdb->p_class_val_to_name[obj - 1], in __cil_insert_type_rule()
1012 pdb->p_type_val_to_name[res - 1], in __cil_insert_type_rule()
1013 pdb->p_type_val_to_name[existing->datum.data - 1]); in __cil_insert_type_rule()
1022 rc = avtab_insert(&pdb->te_avtab, &avtab_key, &avtab_datum); in __cil_insert_type_rule()
1024 existing = avtab_search_node(&pdb->te_cond_avtab, &avtab_key); in __cil_insert_type_rule()
1042 pdb->p_type_val_to_name[src - 1], in __cil_insert_type_rule()
1043 pdb->p_type_val_to_name[tgt - 1], in __cil_insert_type_rule()
1044 pdb->p_class_val_to_name[obj - 1], in __cil_insert_type_rule()
1045 pdb->p_type_val_to_name[res - 1], in __cil_insert_type_rule()
1046 pdb->p_type_val_to_name[existing->datum.data - 1]); in __cil_insert_type_rule()
1059 …rc = __cil_cond_insert_rule(&pdb->te_cond_avtab, &avtab_key, &avtab_datum, cond_node, cond_flavor); in __cil_insert_type_rule()
1066 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
1088 rc = __cil_get_sepol_type_datum(pdb, DATUM(cil_rule->result), &sepol_result); in __cil_type_rule_to_avtab()
1092 rc = __cil_get_sepol_type_datum(pdb, DATUM(db->val_to_type[i]), &sepol_src); in __cil_type_rule_to_avtab()
1096 rc = __cil_get_sepol_type_datum(pdb, DATUM(db->val_to_type[j]), &sepol_tgt); in __cil_type_rule_to_avtab()
1100 rc = __cil_get_sepol_class_datum(pdb, DATUM(c->data), &sepol_obj); in __cil_type_rule_to_avtab()
1103 …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()
1118 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
1120 return __cil_type_rule_to_avtab(pdb, db, cil_rule, NULL, CIL_FALSE); in cil_type_rule_to_policydb()
1123 int __cil_typetransition_to_avtab(policydb_t *pdb, const struct cil_db *db, struct cil_nametypetran… in __cil_typetransition_to_avtab() argument
1149 return __cil_type_rule_to_avtab(pdb, db, &trans, cond_node, cond_flavor); in __cil_typetransition_to_avtab()
1160 rc = __cil_get_sepol_type_datum(pdb, DATUM(typetrans->result), &sepol_result); in __cil_typetransition_to_avtab()
1164 rc = __cil_get_sepol_type_datum(pdb, DATUM(db->val_to_type[i]), &sepol_src); in __cil_typetransition_to_avtab()
1168 rc = __cil_get_sepol_type_datum(pdb, DATUM(db->val_to_type[j]), &sepol_tgt); in __cil_typetransition_to_avtab()
1172 rc = __cil_get_sepol_class_datum(pdb, DATUM(c->data), &sepol_obj); in __cil_typetransition_to_avtab()
1176 pdb, sepol_src->s.value, sepol_tgt->s.value, in __cil_typetransition_to_avtab()
1207 int cil_typetransition_to_policydb(policydb_t *pdb, const struct cil_db *db, struct cil_nametypetra… in cil_typetransition_to_policydb() argument
1209 return __cil_typetransition_to_avtab(pdb, db, typetrans, NULL, CIL_FALSE); in cil_typetransition_to_policydb()
1262 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
1290 avtab_dup = avtab_search(&pdb->te_avtab, &avtab_key); in __cil_insert_avrule()
1293 rc = avtab_insert(&pdb->te_avtab, &avtab_key, &avtab_datum); in __cil_insert_avrule()
1302 …rc = __cil_cond_insert_rule(&pdb->te_cond_avtab, &avtab_key, &avtab_datum, cond_node, cond_flavor); in __cil_insert_avrule()
1309 int __cil_avrule_expand_helper(policydb_t *pdb, uint16_t kind, struct cil_symtab_datum *src, struct… in __cil_avrule_expand_helper() argument
1317 rc = __cil_get_sepol_class_datum(pdb, DATUM(cp->class), &sepol_class); in __cil_avrule_expand_helper()
1332 rc = __cil_get_sepol_type_datum(pdb, src, &sepol_src); in __cil_avrule_expand_helper()
1335 rc = __cil_get_sepol_type_datum(pdb, tgt, &sepol_tgt); in __cil_avrule_expand_helper()
1338 …rc = __cil_insert_avrule(pdb, kind, sepol_src->s.value, sepol_tgt->s.value, sepol_class->s.value, … in __cil_avrule_expand_helper()
1350 int __cil_avrule_expand(policydb_t *pdb, uint16_t kind, struct cil_symtab_datum *src, struct cil_sy… in __cil_avrule_expand() argument
1359 rc = __cil_avrule_expand_helper(pdb, kind, src, tgt, cp, cond_node, cond_flavor); in __cil_avrule_expand()
1367 rc = __cil_avrule_expand(pdb, kind, src, tgt, cmp->classperms, cond_node, cond_flavor); in __cil_avrule_expand()
1376 rc = __cil_avrule_expand(pdb, kind, src, tgt, cp->classperms, cond_node, cond_flavor); in __cil_avrule_expand()
1405 int __cil_avrule_to_avtab(policydb_t *pdb, const struct cil_db *db, struct cil_avrule *cil_avrule, … in __cil_avrule_to_avtab() argument
1433 rc = __cil_avrule_expand(pdb, kind, src, src, classperms, cond_node, cond_flavor); in __cil_avrule_to_avtab()
1444 rc = __cil_avrule_expand(pdb, kind, src, tgt, classperms, cond_node, cond_flavor); in __cil_avrule_to_avtab()
1465 rc = __cil_avrule_expand(pdb, kind, src, tgt, classperms, cond_node, cond_flavor); in __cil_avrule_to_avtab()
1484 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 int cil_avrule_to_policydb(policydb_t *pdb, const struct cil_db *db, struct cil_avrule *cil_avrule) in cil_avrule_to_policydb() argument
1518 return __cil_avrule_to_avtab(pdb, db, cil_avrule, NULL, CIL_FALSE); in cil_avrule_to_policydb()
1624 struct policydb *pdb; in __cil_avrulex_ioctl_to_policydb() local
1633 pdb = args; in __cil_avrulex_ioctl_to_policydb()
1635 sepol_obj = pdb->class_val_to_struct[avtab_key->target_class - 1]; in __cil_avrulex_ioctl_to_policydb()
1653 rc = avtab_insert(&pdb->te_avtab, avtab_key, &avtab_datum); in __cil_avrulex_ioctl_to_policydb()
1728 int __cil_avrulex_to_hashtable_helper(policydb_t *pdb, uint16_t kind, struct cil_symtab_datum *src,… in __cil_avrulex_to_hashtable_helper() argument
1737 rc = __cil_get_sepol_type_datum(pdb, src, &sepol_src); in __cil_avrulex_to_hashtable_helper()
1740 rc = __cil_get_sepol_type_datum(pdb, tgt, &sepol_tgt); in __cil_avrulex_to_hashtable_helper()
1746 rc = __cil_get_sepol_class_datum(pdb, DATUM(c->data), &sepol_obj); in __cil_avrulex_to_hashtable_helper()
1768 int cil_avrulex_to_hashtable(policydb_t *pdb, const struct cil_db *db, struct cil_avrule *cil_avrul… in cil_avrulex_to_hashtable() argument
1794 rc = __cil_avrulex_to_hashtable_helper(pdb, kind, src, src, cil_avrulex->perms.x.permx, args); in cil_avrulex_to_hashtable()
1805 rc = __cil_avrulex_to_hashtable_helper(pdb, kind, src, tgt, cil_avrulex->perms.x.permx, args); in cil_avrulex_to_hashtable()
1826 rc = __cil_avrulex_to_hashtable_helper(pdb, kind, src, tgt, cil_avrulex->perms.x.permx, args); in cil_avrulex_to_hashtable()
1845 rc = __cil_avrulex_to_hashtable_helper(pdb, kind, src, tgt, cil_avrulex->perms.x.permx, args); in cil_avrulex_to_hashtable()
1861 rc = __cil_avrulex_to_hashtable_helper(pdb, kind, src, tgt, cil_avrulex->perms.x.permx, args); in cil_avrulex_to_hashtable()
1892 policydb_t *pdb = args->pdb; in __cil_cond_to_policydb_helper() local
1908 rc = __cil_typetransition_to_avtab(pdb, db, cil_typetrans, cond_node, cond_flavor); in __cil_cond_to_policydb_helper()
1916 rc = __cil_type_rule_to_avtab(pdb, db, cil_type_rule, cond_node, cond_flavor); in __cil_cond_to_policydb_helper()
1924 rc = __cil_avrule_to_avtab(pdb, db, cil_avrule, cond_node, cond_flavor); in __cil_cond_to_policydb_helper()
2028 static int __cil_cond_expr_to_sepol_expr_helper(policydb_t *pdb, struct cil_list *cil_expr, cond_ex…
2030 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
2036 cond_bool_datum_t *sepol_bool = hashtab_search(pdb->p_bools.table, key); in __cil_cond_item_to_sepol_expr()
2048 int rc = __cil_cond_expr_to_sepol_expr_helper(pdb, l, head, tail); in __cil_cond_item_to_sepol_expr()
2062 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
2107 rc = __cil_cond_item_to_sepol_expr(pdb, item->next, &h1, &t1); in __cil_cond_expr_to_sepol_expr_helper()
2119 rc = __cil_cond_item_to_sepol_expr(pdb, item->next->next, &h2, &t2); in __cil_cond_expr_to_sepol_expr_helper()
2133 rc = __cil_cond_item_to_sepol_expr(pdb, item, &h1, &t1); in __cil_cond_expr_to_sepol_expr_helper()
2140 rc = __cil_cond_item_to_sepol_expr(pdb, item, &h2, &t2); in __cil_cond_expr_to_sepol_expr_helper()
2163 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
2168 rc = __cil_cond_expr_to_sepol_expr_helper(pdb, cil_expr, &head, &tail); in __cil_cond_expr_to_sepol_expr()
2222 int cil_booleanif_to_policydb(policydb_t *pdb, const struct cil_db *db, struct cil_tree_node *node) in cil_booleanif_to_policydb() argument
2237 tmp_cond = cond_node_create(pdb, NULL); in cil_booleanif_to_policydb()
2244 rc = __cil_cond_expr_to_sepol_expr(pdb, cil_boolif->datum_expr, &tmp_cond->expr); in cil_booleanif_to_policydb()
2257 rc = cond_normalize_expr(pdb, tmp_cond); in cil_booleanif_to_policydb()
2267 cond_node = cond_node_find(pdb, tmp_cond, pdb->cond_list, &was_created); in cil_booleanif_to_policydb()
2274 cond_node->next = pdb->cond_list; in cil_booleanif_to_policydb()
2275 pdb->cond_list = cond_node; in cil_booleanif_to_policydb()
2300 bool_args.pdb = pdb; in cil_booleanif_to_policydb()
2332 int cil_roletrans_to_policydb(policydb_t *pdb, const struct cil_db *db, struct cil_roletransition *… in cil_roletrans_to_policydb() argument
2355 rc = __cil_get_sepol_role_datum(pdb, DATUM(roletrans->result), &sepol_result); in cil_roletrans_to_policydb()
2359 rc = __cil_get_sepol_role_datum(pdb, DATUM(db->val_to_role[i]), &sepol_src); in cil_roletrans_to_policydb()
2363 rc = __cil_get_sepol_type_datum(pdb, DATUM(db->val_to_type[j]), &sepol_tgt); in cil_roletrans_to_policydb()
2368 rc = __cil_get_sepol_class_datum(pdb, DATUM(c->data), &sepol_obj); in cil_roletrans_to_policydb()
2394 new->next = pdb->role_tr; in cil_roletrans_to_policydb()
2395 pdb->role_tr = new; in cil_roletrans_to_policydb()
2415 int cil_roleallow_to_policydb(policydb_t *pdb, const struct cil_db *db, struct cil_roleallow *rolea… in cil_roleallow_to_policydb() argument
2432 rc = __cil_get_sepol_role_datum(pdb, DATUM(db->val_to_role[i]), &sepol_src); in cil_roleallow_to_policydb()
2436 rc = __cil_get_sepol_role_datum(pdb, DATUM(db->val_to_role[j]), &sepol_tgt); in cil_roleallow_to_policydb()
2444 sepol_roleallow->next = pdb->role_allow; in cil_roleallow_to_policydb()
2445 pdb->role_allow = sepol_roleallow; in cil_roleallow_to_policydb()
2457 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
2471 rc = __cil_get_sepol_user_datum(pdb, DATUM(db->val_to_user[i]), &sepol_user); in __cil_constrain_expr_datum_to_sepol_expr()
2493 rc = __cil_get_sepol_role_datum(pdb, DATUM(db->val_to_role[i]), &sepol_role); in __cil_constrain_expr_datum_to_sepol_expr()
2511 if (pdb->policyvers >= POLICYDB_VERSION_CONSTRAINT_NAMES) { in __cil_constrain_expr_datum_to_sepol_expr()
2512 rc = __cil_get_sepol_type_datum(pdb, item->data, &sepol_type); in __cil_constrain_expr_datum_to_sepol_expr()
2535 rc = __cil_get_sepol_type_datum(pdb, DATUM(db->val_to_type[i]), &sepol_type); in __cil_constrain_expr_datum_to_sepol_expr()
2557 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
2627 rc = __cil_constrain_expr_datum_to_sepol_expr(pdb, db, r_item, expr_flavor, expr); in __cil_constrain_expr_leaf_to_sepol_expr()
2635 rc = __cil_constrain_expr_datum_to_sepol_expr(pdb, db, curr, expr_flavor, expr); in __cil_constrain_expr_leaf_to_sepol_expr()
2652 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
2710 rc = __cil_constrain_expr_leaf_to_sepol_expr(pdb, db, item, flavor, op); in __cil_constrain_expr_to_sepol_expr_helper()
2718 rc = __cil_constrain_expr_to_sepol_expr_helper(pdb, db, l_expr, &h1, &t1); in __cil_constrain_expr_to_sepol_expr_helper()
2728 rc = __cil_constrain_expr_to_sepol_expr_helper(pdb, db, l_expr, &h1, &t1); in __cil_constrain_expr_to_sepol_expr_helper()
2732 rc = __cil_constrain_expr_to_sepol_expr_helper(pdb, db, r_expr, &h2, &t2); in __cil_constrain_expr_to_sepol_expr_helper()
2750 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
2755 rc = __cil_constrain_expr_to_sepol_expr_helper(pdb, db, cil_expr, &head, &tail); in __cil_constrain_expr_to_sepol_expr()
2808 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
2818 rc = __cil_get_sepol_class_datum(pdb, class, &sepol_class); in cil_constrain_to_policydb_helper()
2832 rc = __cil_constrain_expr_to_sepol_expr(pdb, db, expr, &sepol_expr); in cil_constrain_to_policydb_helper()
2854 int cil_constrain_expand(policydb_t *pdb, const struct cil_db *db, struct cil_list *classperms, str… in cil_constrain_expand() argument
2863 rc = cil_constrain_to_policydb_helper(pdb, db, DATUM(cp->class), cp->perms, expr); in cil_constrain_expand()
2871 rc = cil_constrain_expand(pdb, db, cmp->classperms, expr); in cil_constrain_expand()
2880 rc = cil_constrain_expand(pdb, db, cp->classperms, expr); in cil_constrain_expand()
2893 int cil_constrain_to_policydb(policydb_t *pdb, const struct cil_db *db, struct cil_constrain *cil_c… in cil_constrain_to_policydb() argument
2896 rc = cil_constrain_expand(pdb, db, cil_constrain->classperms, cil_constrain->datum_expr); in cil_constrain_to_policydb()
2908 int cil_validatetrans_to_policydb(policydb_t *pdb, const struct cil_db *db, struct cil_validatetran… in cil_validatetrans_to_policydb() argument
2921 rc = __cil_get_sepol_class_datum(pdb, DATUM(c->data), &sepol_class); in cil_validatetrans_to_policydb()
2927 rc = __cil_constrain_expr_to_sepol_expr(pdb, db, expr, &sepol_expr); in cil_validatetrans_to_policydb()
2945 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
2957 rc = __cil_get_sepol_cat_datum(pdb, j->data, &sepol_cat); in __cil_cats_to_mls_level()
2964 rc = __cil_get_sepol_cat_datum(pdb, i->data, &sepol_cat); in __cil_cats_to_mls_level()
2978 int cil_sepol_level_define(policydb_t *pdb, struct cil_sens *cil_sens) in cil_sepol_level_define() argument
2985 rc = __cil_get_sepol_level_datum(pdb, DATUM(cil_sens), &sepol_level); in cil_sepol_level_define()
2995 rc = __cil_cats_to_mls_level(pdb, cats, mls_level); in cil_sepol_level_define()
3011 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
3018 rc = __cil_get_sepol_level_datum(pdb, DATUM(cil_sens), &sepol_level); in cil_level_to_mls_level()
3026 rc = __cil_cats_to_mls_level(pdb, cats, mls_level); in cil_level_to_mls_level()
3038 int __cil_levelrange_to_mls_range(policydb_t *pdb, struct cil_levelrange *cil_lvlrange, mls_range_t… in __cil_levelrange_to_mls_range() argument
3047 rc = cil_level_to_mls_level(pdb, low, mls_level); in __cil_levelrange_to_mls_range()
3054 rc = cil_level_to_mls_level(pdb, high, mls_level); in __cil_levelrange_to_mls_range()
3065 int cil_userlevel_userrange_to_policydb(policydb_t *pdb, struct cil_user *cil_user) in cil_userlevel_userrange_to_policydb() argument
3072 rc = __cil_get_sepol_user_datum(pdb, DATUM(cil_user), &sepol_user); in cil_userlevel_userrange_to_policydb()
3075 rc = cil_level_to_mls_level(pdb, cil_level, &sepol_user->exp_dfltlevel); in cil_userlevel_userrange_to_policydb()
3080 rc = __cil_levelrange_to_mls_range(pdb, cil_levelrange, &sepol_user->exp_range); in cil_userlevel_userrange_to_policydb()
3091 int __cil_context_to_sepol_context(policydb_t *pdb, struct cil_context *cil_context, context_struct… in __cil_context_to_sepol_context() argument
3099 rc = __cil_get_sepol_user_datum(pdb, DATUM(cil_context->user), &sepol_user); in __cil_context_to_sepol_context()
3102 rc = __cil_get_sepol_role_datum(pdb, DATUM(cil_context->role), &sepol_role); in __cil_context_to_sepol_context()
3105 rc = __cil_get_sepol_type_datum(pdb, DATUM(cil_context->type), &sepol_type); in __cil_context_to_sepol_context()
3112 if (pdb->mls == CIL_TRUE) { in __cil_context_to_sepol_context()
3115 rc = __cil_levelrange_to_mls_range(pdb, cil_lvlrange, &sepol_context->range); in __cil_context_to_sepol_context()
3129 int cil_sidorder_to_policydb(policydb_t *pdb, const struct cil_db *db) in cil_sidorder_to_policydb() argument
3149 ocontext_t *new_ocon = cil_add_ocontext(&pdb->ocontexts[OCON_ISID], &tail); in cil_sidorder_to_policydb()
3152 rc = __cil_context_to_sepol_context(pdb, cil_context, &new_ocon->context[0]); in cil_sidorder_to_policydb()
3166 int cil_rangetransition_to_policydb(policydb_t *pdb, const struct cil_db *db, struct cil_rangetrans… in cil_rangetransition_to_policydb() argument
3190 rc = __cil_get_sepol_type_datum(pdb, DATUM(db->val_to_type[i]), &sepol_src); in cil_rangetransition_to_policydb()
3194 rc = __cil_get_sepol_type_datum(pdb, DATUM(db->val_to_type[j]), &sepol_tgt); in cil_rangetransition_to_policydb()
3198 rc = __cil_get_sepol_class_datum(pdb, DATUM(c->data), &sepol_class); in cil_rangetransition_to_policydb()
3206 rc = __cil_levelrange_to_mls_range(pdb, rangetrans->range, newdatum); in cil_rangetransition_to_policydb()
3213 rc = hashtab_insert(pdb->range_tr, (hashtab_key_t)newkey, newdatum); in cil_rangetransition_to_policydb()
3216 o_range = hashtab_search(pdb->range_tr, (hashtab_key_t)newkey); in cil_rangetransition_to_policydb()
3245 int cil_ibpkeycon_to_policydb(policydb_t *pdb, struct cil_sort *ibpkeycons) in cil_ibpkeycon_to_policydb() argument
3254 ocontext_t *new_ocon = cil_add_ocontext(&pdb->ocontexts[OCON_IBPKEY], &tail); in cil_ibpkeycon_to_policydb()
3268 rc = __cil_context_to_sepol_context(pdb, cil_ibpkeycon->context, &new_ocon->context[0]); in cil_ibpkeycon_to_policydb()
3279 int cil_portcon_to_policydb(policydb_t *pdb, struct cil_sort *portcons) in cil_portcon_to_policydb() argument
3287 ocontext_t *new_ocon = cil_add_ocontext(&pdb->ocontexts[OCON_PORT], &tail); in cil_portcon_to_policydb()
3311 rc = __cil_context_to_sepol_context(pdb, cil_portcon->context, &new_ocon->context[0]); in cil_portcon_to_policydb()
3323 int cil_netifcon_to_policydb(policydb_t *pdb, struct cil_sort *netifcons) in cil_netifcon_to_policydb() argument
3330 ocontext_t *new_ocon = cil_add_ocontext(&pdb->ocontexts[OCON_NETIF], &tail); in cil_netifcon_to_policydb()
3335 rc = __cil_context_to_sepol_context(pdb, cil_netifcon->if_context, &new_ocon->context[0]); in cil_netifcon_to_policydb()
3340 rc = __cil_context_to_sepol_context(pdb, cil_netifcon->packet_context, &new_ocon->context[1]); in cil_netifcon_to_policydb()
3353 int cil_ibendportcon_to_policydb(policydb_t *pdb, struct cil_sort *ibendportcons) in cil_ibendportcon_to_policydb() argument
3360 ocontext_t *new_ocon = cil_add_ocontext(&pdb->ocontexts[OCON_IBENDPORT], &tail); in cil_ibendportcon_to_policydb()
3366 rc = __cil_context_to_sepol_context(pdb, cil_ibendportcon->context, &new_ocon->context[0]); in cil_ibendportcon_to_policydb()
3377 int cil_nodecon_to_policydb(policydb_t *pdb, struct cil_sort *nodecons) in cil_nodecon_to_policydb() argument
3389 new_ocon = cil_add_ocontext(&pdb->ocontexts[OCON_NODE], &tail); in cil_nodecon_to_policydb()
3393 new_ocon = cil_add_ocontext(&pdb->ocontexts[OCON_NODE6], &tail6); in cil_nodecon_to_policydb()
3402 rc = __cil_context_to_sepol_context(pdb, cil_nodecon->context, &new_ocon->context[0]); in cil_nodecon_to_policydb()
3414 int cil_fsuse_to_policydb(policydb_t *pdb, struct cil_sort *fsuses) in cil_fsuse_to_policydb() argument
3421 ocontext_t *new_ocon = cil_add_ocontext(&pdb->ocontexts[OCON_FSUSE], &tail); in cil_fsuse_to_policydb()
3427 rc = __cil_context_to_sepol_context(pdb, cil_fsuse->context, &new_ocon->context[0]); in cil_fsuse_to_policydb()
3439 int cil_genfscon_to_policydb(policydb_t *pdb, struct cil_sort *genfscons) in cil_genfscon_to_policydb() argument
3462 pdb->genfs = new_genfs; in cil_genfscon_to_policydb()
3500 class_datum = hashtab_search(pdb->p_classes.table, class_name); in cil_genfscon_to_policydb()
3508 rc = __cil_context_to_sepol_context(pdb, cil_genfscon->context, &new_ocon->context[0]); in cil_genfscon_to_policydb()
3520 int cil_pirqcon_to_policydb(policydb_t *pdb, struct cil_sort *pirqcons) in cil_pirqcon_to_policydb() argument
3527 ocontext_t *new_ocon = cil_add_ocontext(&pdb->ocontexts[OCON_XEN_PIRQ], &tail); in cil_pirqcon_to_policydb()
3532 rc = __cil_context_to_sepol_context(pdb, cil_pirqcon->context, &new_ocon->context[0]); in cil_pirqcon_to_policydb()
3544 int cil_iomemcon_to_policydb(policydb_t *pdb, struct cil_sort *iomemcons) in cil_iomemcon_to_policydb() argument
3551 ocontext_t *new_ocon = cil_add_ocontext(&pdb->ocontexts[OCON_XEN_IOMEM], &tail); in cil_iomemcon_to_policydb()
3557 rc = __cil_context_to_sepol_context(pdb, cil_iomemcon->context, &new_ocon->context[0]); in cil_iomemcon_to_policydb()
3569 int cil_ioportcon_to_policydb(policydb_t *pdb, struct cil_sort *ioportcons) in cil_ioportcon_to_policydb() argument
3576 ocontext_t *new_ocon = cil_add_ocontext(&pdb->ocontexts[OCON_XEN_IOPORT], &tail); in cil_ioportcon_to_policydb()
3582 rc = __cil_context_to_sepol_context(pdb, cil_ioportcon->context, &new_ocon->context[0]); in cil_ioportcon_to_policydb()
3594 int cil_pcidevicecon_to_policydb(policydb_t *pdb, struct cil_sort *pcidevicecons) in cil_pcidevicecon_to_policydb() argument
3601 ocontext_t *new_ocon = cil_add_ocontext(&pdb->ocontexts[OCON_XEN_PCIDEVICE], &tail); in cil_pcidevicecon_to_policydb()
3606 rc = __cil_context_to_sepol_context(pdb, cil_pcidevicecon->context, &new_ocon->context[0]); in cil_pcidevicecon_to_policydb()
3618 int cil_devicetreecon_to_policydb(policydb_t *pdb, struct cil_sort *devicetreecons) in cil_devicetreecon_to_policydb() argument
3625 ocontext_t *new_ocon = cil_add_ocontext(&pdb->ocontexts[OCON_XEN_DEVICETREE], &tail); in cil_devicetreecon_to_policydb()
3630 rc = __cil_context_to_sepol_context(pdb, cil_devicetreecon->context, &new_ocon->context[0]); in cil_devicetreecon_to_policydb()
3642 int cil_default_to_policydb(policydb_t *pdb, struct cil_default *def) in cil_default_to_policydb() argument
3654 int rc = __cil_get_sepol_class_datum(pdb, DATUM(c->data), &sepol_class); in cil_default_to_policydb()
3697 int cil_defaultrange_to_policydb(policydb_t *pdb, struct cil_defaultrange *def) in cil_defaultrange_to_policydb() argument
3709 int rc = __cil_get_sepol_class_datum(pdb, DATUM(c->data), &sepol_class); in cil_defaultrange_to_policydb()
3736 policydb_t *pdb; in __cil_node_to_policydb() local
3741 pdb = args->pdb; in __cil_node_to_policydb()
3756 rc = cil_role_to_policydb(pdb, node->data); in __cil_node_to_policydb()
3759 rc = cil_type_to_policydb(pdb, node->data, type_value_to_cil); in __cil_node_to_policydb()
3762 rc = cil_typeattribute_to_policydb(pdb, node->data, type_value_to_cil); in __cil_node_to_policydb()
3765 rc = cil_policycap_to_policydb(pdb, node->data); in __cil_node_to_policydb()
3768 rc = cil_user_to_policydb(pdb, node->data); in __cil_node_to_policydb()
3771 rc = cil_bool_to_policydb(pdb, node->data); in __cil_node_to_policydb()
3774 if (pdb->mls == CIL_TRUE) { in __cil_node_to_policydb()
3775 rc = cil_catalias_to_policydb(pdb, node->data); in __cil_node_to_policydb()
3779 if (pdb->mls == CIL_TRUE) { in __cil_node_to_policydb()
3780 rc = cil_sepol_level_define(pdb, node->data); in __cil_node_to_policydb()
3790 rc = cil_type_bounds_to_policydb(pdb, node->data); in __cil_node_to_policydb()
3793 rc = cil_typealias_to_policydb(pdb, node->data); in __cil_node_to_policydb()
3796 rc = cil_typepermissive_to_policydb(pdb, node->data); in __cil_node_to_policydb()
3799 rc = cil_typeattribute_to_bitmap(pdb, db, node->data); in __cil_node_to_policydb()
3802 if (pdb->mls == CIL_TRUE) { in __cil_node_to_policydb()
3803 rc = cil_sensalias_to_policydb(pdb, node->data); in __cil_node_to_policydb()
3807 rc = cil_role_bounds_to_policydb(pdb, node->data); in __cil_node_to_policydb()
3809 rc = cil_roletype_to_policydb(pdb, db, node->data); in __cil_node_to_policydb()
3812 rc = cil_user_bounds_to_policydb(pdb, node->data); in __cil_node_to_policydb()
3814 if (pdb->mls == CIL_TRUE) { in __cil_node_to_policydb()
3815 rc = cil_userlevel_userrange_to_policydb(pdb, node->data); in __cil_node_to_policydb()
3820 rc = cil_userrole_to_policydb(pdb, db, node->data); in __cil_node_to_policydb()
3823 rc = cil_type_rule_to_policydb(pdb, db, node->data); in __cil_node_to_policydb()
3835 rc = cil_roletrans_to_policydb(pdb, db, node->data, role_trans_table); in __cil_node_to_policydb()
3838 /*rc = cil_roleattributeset_to_policydb(pdb, node->data);*/ in __cil_node_to_policydb()
3841 rc = cil_typetransition_to_policydb(pdb, db, node->data); in __cil_node_to_policydb()
3844 rc = cil_constrain_to_policydb(pdb, db, node->data); in __cil_node_to_policydb()
3847 if (pdb->mls == CIL_TRUE) { in __cil_node_to_policydb()
3848 rc = cil_constrain_to_policydb(pdb, db, node->data); in __cil_node_to_policydb()
3852 rc = cil_validatetrans_to_policydb(pdb, db, node->data); in __cil_node_to_policydb()
3855 if (pdb->mls == CIL_TRUE) { in __cil_node_to_policydb()
3856 rc = cil_validatetrans_to_policydb(pdb, db, node->data); in __cil_node_to_policydb()
3860 if (pdb->mls == CIL_TRUE) { in __cil_node_to_policydb()
3861 rc = cil_rangetransition_to_policydb(pdb, db, node->data); in __cil_node_to_policydb()
3867 rc = cil_default_to_policydb(pdb, node->data); in __cil_node_to_policydb()
3870 rc = cil_defaultrange_to_policydb(pdb, node->data); in __cil_node_to_policydb()
3879 rc = cil_booleanif_to_policydb(pdb, db, node); in __cil_node_to_policydb()
3884 rc = cil_avrule_to_policydb(pdb, db, node->data); in __cil_node_to_policydb()
3891 rc = cil_avrulex_to_hashtable(pdb, db, node->data, args); in __cil_node_to_policydb()
3896 rc = cil_roleallow_to_policydb(pdb, db, node->data); in __cil_node_to_policydb()
3940 int __cil_contexts_to_policydb(policydb_t *pdb, const struct cil_db *db) in __cil_contexts_to_policydb() argument
3944 rc = cil_portcon_to_policydb(pdb, db->portcon); in __cil_contexts_to_policydb()
3949 rc = cil_netifcon_to_policydb(pdb, db->netifcon); in __cil_contexts_to_policydb()
3954 rc = cil_nodecon_to_policydb(pdb, db->nodecon); in __cil_contexts_to_policydb()
3959 rc = cil_fsuse_to_policydb(pdb, db->fsuse); in __cil_contexts_to_policydb()
3964 rc = cil_genfscon_to_policydb(pdb, db->genfscon); in __cil_contexts_to_policydb()
3969 rc = cil_ibpkeycon_to_policydb(pdb, db->ibpkeycon); in __cil_contexts_to_policydb()
3974 rc = cil_ibendportcon_to_policydb(pdb, db->ibendportcon); in __cil_contexts_to_policydb()
3980 rc = cil_pirqcon_to_policydb(pdb, db->pirqcon); in __cil_contexts_to_policydb()
3985 rc = cil_iomemcon_to_policydb(pdb, db->iomemcon); in __cil_contexts_to_policydb()
3990 rc = cil_ioportcon_to_policydb(pdb, db->ioportcon); in __cil_contexts_to_policydb()
3995 rc = cil_pcidevicecon_to_policydb(pdb, db->pcidevicecon); in __cil_contexts_to_policydb()
4000 rc = cil_devicetreecon_to_policydb(pdb, db->devicetreecon); in __cil_contexts_to_policydb()
4012 policydb_t *pdb = data; in __cil_common_val_array_insert() local
4015 if (common->s.value < 1 || common->s.value > pdb->p_commons.nprim) { in __cil_common_val_array_insert()
4018 pdb->p_common_val_to_name[common->s.value - 1] = (char *)key; in __cil_common_val_array_insert()
4025 policydb_t *pdb = data; in __cil_class_val_array_insert() local
4028 if (class->s.value < 1 || class->s.value > pdb->p_classes.nprim) { in __cil_class_val_array_insert()
4031 pdb->p_class_val_to_name[class->s.value - 1] = (char *)key; in __cil_class_val_array_insert()
4032 pdb->class_val_to_struct[class->s.value - 1] = class; in __cil_class_val_array_insert()
4039 policydb_t *pdb = data; in __cil_role_val_array_insert() local
4042 if (role->s.value < 1 || role->s.value > pdb->p_roles.nprim) { in __cil_role_val_array_insert()
4045 pdb->p_role_val_to_name[role->s.value - 1] = (char *)key; in __cil_role_val_array_insert()
4046 pdb->role_val_to_struct[role->s.value - 1] = role; in __cil_role_val_array_insert()
4053 policydb_t *pdb = data; in __cil_type_val_array_insert() local
4056 if (type->s.value < 1 || type->s.value > pdb->p_types.nprim) { in __cil_type_val_array_insert()
4059 pdb->p_type_val_to_name[type->s.value - 1] = (char *)key; in __cil_type_val_array_insert()
4060 pdb->type_val_to_struct[type->s.value - 1] = type; in __cil_type_val_array_insert()
4067 policydb_t *pdb = data; in __cil_user_val_array_insert() local
4070 if (user->s.value < 1 || user->s.value > pdb->p_users.nprim) { in __cil_user_val_array_insert()
4073 pdb->p_user_val_to_name[user->s.value - 1] = (char *)key; in __cil_user_val_array_insert()
4074 pdb->user_val_to_struct[user->s.value - 1] = user; in __cil_user_val_array_insert()
4081 policydb_t *pdb = data; in __cil_bool_val_array_insert() local
4084 if (bool->s.value < 1 || bool->s.value > pdb->p_bools.nprim) { in __cil_bool_val_array_insert()
4087 pdb->p_bool_val_to_name[bool->s.value - 1] = (char *)key; in __cil_bool_val_array_insert()
4088 pdb->bool_val_to_struct[bool->s.value - 1] = bool; in __cil_bool_val_array_insert()
4095 policydb_t *pdb = data; in __cil_level_val_array_insert() local
4098 if (level->level->sens < 1 || level->level->sens > pdb->p_levels.nprim) { in __cil_level_val_array_insert()
4101 pdb->p_sens_val_to_name[level->level->sens - 1] = (char *)key; in __cil_level_val_array_insert()
4108 policydb_t *pdb = data; in __cil_cat_val_array_insert() local
4111 if (cat->s.value < 1 || cat->s.value > pdb->p_cats.nprim) { in __cil_cat_val_array_insert()
4114 pdb->p_cat_val_to_name[cat->s.value - 1] = (char *)key; in __cil_cat_val_array_insert()
4180 static void __cil_set_conditional_state_and_flags(policydb_t *pdb) in __cil_set_conditional_state_and_flags() argument
4184 for (cur = pdb->cond_list; cur != NULL; cur = cur->next) { in __cil_set_conditional_state_and_flags()
4188 new_state = cond_evaluate_expr(pdb, cur->expr); in __cil_set_conditional_state_and_flags()
4217 struct policydb *pdb = NULL; in __cil_policydb_create() local
4228 pdb = &(*spdb)->p; in __cil_policydb_create()
4230 pdb->policy_type = POLICY_KERN; in __cil_policydb_create()
4231 pdb->target_platform = db->target_platform; in __cil_policydb_create()
4232 pdb->policyvers = db->policy_version; in __cil_policydb_create()
4233 pdb->handle_unknown = db->handle_unknown; in __cil_policydb_create()
4234 pdb->mls = db->mls; in __cil_policydb_create()
4243 int __cil_policydb_init(policydb_t *pdb, const struct cil_db *db, struct cil_class *class_value_to_… in __cil_policydb_init() argument
4250 pdb->handle_unknown = db->handle_unknown; in __cil_policydb_init()
4251 pdb->mls = db->mls; in __cil_policydb_init()
4253 rc = cil_classorder_to_policydb(pdb, db, class_value_to_cil, perm_value_to_cil); in __cil_policydb_init()
4258 if (pdb->mls == CIL_TRUE) { in __cil_policydb_init()
4259 rc = cil_catorder_to_policydb(pdb, db); in __cil_policydb_init()
4264 rc = cil_sensitivityorder_to_policydb(pdb, db); in __cil_policydb_init()
4270 rc = avtab_alloc(&pdb->te_avtab, MAX_AVTAB_SIZE); in __cil_policydb_init()
4275 rc = avtab_alloc(&pdb->te_cond_avtab, MAX_AVTAB_SIZE); in __cil_policydb_init()
4359 struct sepol_policydb *pdb = NULL; in cil_binary_create() local
4361 rc = __cil_policydb_create(db, &pdb); in cil_binary_create()
4366 rc = cil_binary_create_allocated_pdb(db, pdb); in cil_binary_create()
4371 *policydb = pdb; in cil_binary_create()
4376 sepol_policydb_free(pdb); in cil_binary_create()
4392 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
4404 rc = __cil_get_sepol_class_datum(pdb, DATUM(cp->class), &sepol_class); in __cil_rule_to_sepol_class_perms()
4420 rc = __cil_rule_to_sepol_class_perms(pdb, cmp->classperms, sepol_class_perms); in __cil_rule_to_sepol_class_perms()
4429 rc = __cil_rule_to_sepol_class_perms(pdb, cp->classperms, sepol_class_perms); in __cil_rule_to_sepol_class_perms()
4441 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
4454 rc = __cil_get_sepol_class_datum(pdb, DATUM(c->data), &sepol_obj); in __cil_permx_to_sepol_class_perms()
4493 static int __cil_add_sepol_type(policydb_t *pdb, const struct cil_db *db, struct cil_symtab_datum *… in __cil_add_sepol_type() argument
4505 rc = __cil_get_sepol_type_datum(pdb, datum, &sepol_datum); in __cil_add_sepol_type()
4510 rc = __cil_get_sepol_type_datum(pdb, datum, &sepol_datum); in __cil_add_sepol_type()
4699 static int cil_check_neverallow(const struct cil_db *db, policydb_t *pdb, struct cil_tree_node *nod… in cil_check_neverallow() argument
4718 rc = __cil_add_sepol_type(pdb, db, cil_rule->src, &rule->stypes.types); in cil_check_neverallow()
4726 rc = __cil_add_sepol_type(pdb, db, cil_rule->tgt, &rule->ttypes.types); in cil_check_neverallow()
4733 rc = __cil_rule_to_sepol_class_perms(pdb, cil_rule->perms.classperms, &rule->perms); in cil_check_neverallow()
4738 rc = check_assertion(pdb, rule); in cil_check_neverallow()
4748 rc = __cil_permx_to_sepol_class_perms(pdb, cil_rule->perms.x.permx, &rule->perms); in cil_check_neverallow()
4760 rc = check_assertion(pdb, rule); in cil_check_neverallow()
4786 static int cil_check_neverallows(const struct cil_db *db, policydb_t *pdb, struct cil_list *neveral… in cil_check_neverallows() argument
4792 rc = cil_check_neverallow(db, pdb, item->data, violation); in cil_check_neverallows()
4802 static struct cil_list *cil_classperms_from_sepol(policydb_t *pdb, uint16_t class, uint32_t data, s… in cil_classperms_from_sepol() argument
4806 class_datum_t *sepol_class = pdb->class_val_to_struct[class - 1]; in cil_classperms_from_sepol()
4834 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
4845 …cil_rule->perms.classperms = cil_classperms_from_sepol(pdb, k->target_class, d->data, class_value_… in cil_avrule_from_sepol()
4855 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
4869 rc = __cil_get_sepol_type_datum(pdb, DATUM(t), &child); in cil_check_type_bounds()
4872 rc = __cil_get_sepol_type_datum(pdb, DATUM(t->bounds), &parent); in cil_check_type_bounds()
4875 rc = bounds_check_type(NULL, pdb, child->s.value, parent->s.value, &bad, &numbad); in cil_check_type_bounds()
4900 …rc = cil_avrule_from_sepol(pdb, cur, &target, type_value_to_cil, class_value_to_cil, perm_value_to… in cil_check_type_bounds()
4958 policydb_t *pdb = &policydb->p; in cil_binary_create_allocated_pdb() local
4991 rc = __cil_policydb_init(pdb, db, class_value_to_cil, perm_value_to_cil); in cil_binary_create_allocated_pdb()
5012 extra_args.pdb = pdb; in cil_binary_create_allocated_pdb()
5028 rc = __cil_policydb_val_arrays_create(pdb); in cil_binary_create_allocated_pdb()
5036 rc = hashtab_map(avrulex_ioctl_table, __cil_avrulex_ioctl_to_policydb, pdb); in cil_binary_create_allocated_pdb()
5044 rc = cil_sidorder_to_policydb(pdb, db); in cil_binary_create_allocated_pdb()
5049 rc = __cil_contexts_to_policydb(pdb, db); in cil_binary_create_allocated_pdb()
5055 if (pdb->type_attr_map == NULL) { in cil_binary_create_allocated_pdb()
5056 rc = __cil_typeattr_bitmap_init(pdb); in cil_binary_create_allocated_pdb()
5063 cond_optimize_lists(pdb->cond_list); in cil_binary_create_allocated_pdb()
5064 __cil_set_conditional_state_and_flags(pdb); in cil_binary_create_allocated_pdb()
5069 rc = cil_check_neverallows(db, pdb, neverallows, &violation); in cil_binary_create_allocated_pdb()
5073 rc = bounds_check_users(NULL, pdb); in cil_binary_create_allocated_pdb()
5079 rc = bounds_check_roles(NULL, pdb); in cil_binary_create_allocated_pdb()
5085 …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()
5096 if (hashtab_map(pdb->p_roles.table, policydb_role_cache, pdb)) { in cil_binary_create_allocated_pdb()
5102 if (hashtab_map(pdb->p_users.table, policydb_user_cache, pdb)) { in cil_binary_create_allocated_pdb()