• Home
  • Raw
  • Download

Lines Matching full:pdb

30 static char *cond_expr_to_str(struct policydb *pdb, struct cond_expr *expr)  in cond_expr_to_str()  argument
45 char *val1 = pdb->p_bool_val_to_name[curr->bool - 1]; in cond_expr_to_str()
119 static char *constraint_expr_to_str(struct policydb *pdb, struct constraint_expr *expr, int *use_ml… in constraint_expr_to_str() argument
182 names = ebitmap_to_str(&ts->types, pdb->p_type_val_to_name, 1); in constraint_expr_to_str()
184 names = ebitmap_to_str(&curr->names, pdb->p_user_val_to_name, 1); in constraint_expr_to_str()
186 names = ebitmap_to_str(&curr->names, pdb->p_role_val_to_name, 1); in constraint_expr_to_str()
266 static int class_constraint_rules_to_strs(struct policydb *pdb, char *classkey, in class_constraint_rules_to_strs() argument
283 expr = constraint_expr_to_str(pdb, curr->expr, &is_mls); in class_constraint_rules_to_strs()
289 perms = sepol_av_to_string(pdb, class->s.value, curr->permissions); in class_constraint_rules_to_strs()
321 static int class_validatetrans_rules_to_strs(struct policydb *pdb, char *classkey, in class_validatetrans_rules_to_strs() argument
334 expr = constraint_expr_to_str(pdb, curr->expr, &is_mls); in class_validatetrans_rules_to_strs()
359 static int constraint_rules_to_strs(struct policydb *pdb, struct strs *mls_strs, struct strs *non_m… in constraint_rules_to_strs() argument
366 for (i=0; i < pdb->p_classes.nprim; i++) { in constraint_rules_to_strs()
367 class = pdb->class_val_to_struct[i]; in constraint_rules_to_strs()
369 name = pdb->p_class_val_to_name[i]; in constraint_rules_to_strs()
370 … rc = class_constraint_rules_to_strs(pdb, name, class, class->constraints, mls_strs, non_mls_strs); in constraint_rules_to_strs()
384 static int validatetrans_rules_to_strs(struct policydb *pdb, struct strs *mls_strs, struct strs *no… in validatetrans_rules_to_strs() argument
391 for (i=0; i < pdb->p_classes.nprim; i++) { in validatetrans_rules_to_strs()
392 class = pdb->class_val_to_struct[i]; in validatetrans_rules_to_strs()
394 name = pdb->p_class_val_to_name[i]; in validatetrans_rules_to_strs()
395 rc = class_validatetrans_rules_to_strs(pdb, name, class->validatetrans, mls_strs, non_mls_strs); in validatetrans_rules_to_strs()
409 static int write_handle_unknown_to_conf(FILE *out, struct policydb *pdb) in write_handle_unknown_to_conf() argument
413 switch (pdb->handle_unknown) { in write_handle_unknown_to_conf()
424 sepol_log_err("Unknown value for handle-unknown: %i", pdb->handle_unknown); in write_handle_unknown_to_conf()
433 static int write_class_decl_rules_to_conf(FILE *out, struct policydb *pdb) in write_class_decl_rules_to_conf() argument
438 for (i=0; i < pdb->p_classes.nprim; i++) { in write_class_decl_rules_to_conf()
439 name = pdb->p_class_val_to_name[i]; in write_class_decl_rules_to_conf()
500 static int write_sid_decl_rules_to_conf(FILE *out, struct policydb *pdb) in write_sid_decl_rules_to_conf() argument
504 if (pdb->target_platform == SEPOL_TARGET_SELINUX) { in write_sid_decl_rules_to_conf()
506 pdb->ocontexts[0]); in write_sid_decl_rules_to_conf()
507 } else if (pdb->target_platform == SEPOL_TARGET_XEN) { in write_sid_decl_rules_to_conf()
509 pdb->ocontexts[0]); in write_sid_decl_rules_to_conf()
511 sepol_log_err("Unknown target platform: %i", pdb->target_platform); in write_sid_decl_rules_to_conf()
543 static int write_class_and_common_rules_to_conf(FILE *out, struct policydb *pdb) in write_class_and_common_rules_to_conf() argument
553 used = calloc(pdb->p_commons.nprim, sizeof(*used)); in write_class_and_common_rules_to_conf()
559 for (i=0; i < pdb->p_classes.nprim; i++) { in write_class_and_common_rules_to_conf()
560 class = pdb->class_val_to_struct[i]; in write_class_and_common_rules_to_conf()
564 common = hashtab_search(pdb->p_commons.table, name); in write_class_and_common_rules_to_conf()
586 for (i=0; i < pdb->p_classes.nprim; i++) { in write_class_and_common_rules_to_conf()
587 class = pdb->class_val_to_struct[i]; in write_class_and_common_rules_to_conf()
589 name = pdb->p_class_val_to_name[i]; in write_class_and_common_rules_to_conf()
705 static int write_default_rules_to_conf(FILE *out, struct policydb *pdb) in write_default_rules_to_conf() argument
712 for (i=0; i < pdb->p_classes.nprim; i++) { in write_default_rules_to_conf()
713 class = pdb->class_val_to_struct[i]; in write_default_rules_to_conf()
716 rc = write_default_user_to_conf(out, pdb->p_class_val_to_name[i], class); in write_default_rules_to_conf()
724 for (i=0; i < pdb->p_classes.nprim; i++) { in write_default_rules_to_conf()
725 class = pdb->class_val_to_struct[i]; in write_default_rules_to_conf()
728 rc = write_default_role_to_conf(out, pdb->p_class_val_to_name[i], class); in write_default_rules_to_conf()
736 for (i=0; i < pdb->p_classes.nprim; i++) { in write_default_rules_to_conf()
737 class = pdb->class_val_to_struct[i]; in write_default_rules_to_conf()
740 rc = write_default_type_to_conf(out, pdb->p_class_val_to_name[i], class); in write_default_rules_to_conf()
747 if (!pdb->mls) { in write_default_rules_to_conf()
752 for (i=0; i < pdb->p_classes.nprim; i++) { in write_default_rules_to_conf()
753 class = pdb->class_val_to_struct[i]; in write_default_rules_to_conf()
756 rc = write_default_range_to_conf(out, pdb->p_class_val_to_name[i], class); in write_default_rules_to_conf()
784 static int write_sensitivity_rules_to_conf(FILE *out, struct policydb *pdb) in write_sensitivity_rules_to_conf() argument
793 rc = strs_init(&strs, pdb->p_levels.nprim); in write_sensitivity_rules_to_conf()
798 rc = hashtab_map(pdb->p_levels.table, map_sensitivity_aliases_to_strs, strs); in write_sensitivity_rules_to_conf()
806 sens_alias_map = calloc(sizeof(*sens_alias_map), pdb->p_levels.nprim); in write_sensitivity_rules_to_conf()
815 level = hashtab_search(pdb->p_levels.table, name); in write_sensitivity_rules_to_conf()
840 for (i=0; i < pdb->p_levels.nprim; i++) { in write_sensitivity_rules_to_conf()
841 name = pdb->p_sens_val_to_name[i]; in write_sensitivity_rules_to_conf()
843 level = hashtab_search(pdb->p_levels.table, name); in write_sensitivity_rules_to_conf()
865 for (i=0; i < pdb->p_levels.nprim; i++) { in write_sensitivity_rules_to_conf()
866 name = pdb->p_sens_val_to_name[i]; in write_sensitivity_rules_to_conf()
868 level = hashtab_search(pdb->p_levels.table, name); in write_sensitivity_rules_to_conf()
887 for (i=0; i < pdb->p_levels.nprim; i++) { in write_sensitivity_rules_to_conf()
915 static int write_category_rules_to_conf(FILE *out, struct policydb *pdb) in write_category_rules_to_conf() argument
924 rc = strs_init(&strs, pdb->p_cats.nprim); in write_category_rules_to_conf()
929 rc = hashtab_map(pdb->p_cats.table, map_category_aliases_to_strs, strs); in write_category_rules_to_conf()
937 cat_alias_map = calloc(sizeof(*cat_alias_map), pdb->p_cats.nprim); in write_category_rules_to_conf()
946 cat = hashtab_search(pdb->p_cats.table, name); in write_category_rules_to_conf()
971 for (i=0; i < pdb->p_cats.nprim; i++) { in write_category_rules_to_conf()
972 name = pdb->p_cat_val_to_name[i]; in write_category_rules_to_conf()
974 cat = hashtab_search(pdb->p_cats.table, name); in write_category_rules_to_conf()
995 for (i=0; i < pdb->p_cats.nprim; i++) { in write_category_rules_to_conf()
1095 static int write_level_rules_to_conf(FILE *out, struct policydb *pdb) in write_level_rules_to_conf() argument
1102 for (i=0; i < pdb->p_levels.nprim; i++) { in write_level_rules_to_conf()
1103 name = pdb->p_sens_val_to_name[i]; in write_level_rules_to_conf()
1105 level = hashtab_search(pdb->p_levels.table, name); in write_level_rules_to_conf()
1113 cats = cats_ebitmap_to_str(&level->level->cat, pdb->p_cat_val_to_name); in write_level_rules_to_conf()
1129 static int write_mls_rules_to_conf(FILE *out, struct policydb *pdb) in write_mls_rules_to_conf() argument
1133 if (!pdb->mls) { in write_mls_rules_to_conf()
1137 rc = write_sensitivity_rules_to_conf(out, pdb); in write_mls_rules_to_conf()
1142 rc = write_category_rules_to_conf(out, pdb); in write_mls_rules_to_conf()
1147 rc = write_level_rules_to_conf(out, pdb); in write_mls_rules_to_conf()
1160 static int write_polcap_rules_to_conf(FILE *out, struct policydb *pdb) in write_polcap_rules_to_conf() argument
1173 ebitmap_for_each_positive_bit(&pdb->policycaps, node, i) { in write_polcap_rules_to_conf()
1201 static int write_type_attributes_to_conf(FILE *out, struct policydb *pdb) in write_type_attributes_to_conf() argument
1209 rc = strs_init(&strs, pdb->p_types.nprim); in write_type_attributes_to_conf()
1214 for (i=0; i < pdb->p_types.nprim; i++) { in write_type_attributes_to_conf()
1215 type = pdb->type_val_to_struct[i]; in write_type_attributes_to_conf()
1217 rc = strs_add(strs, pdb->p_type_val_to_name[i]); in write_type_attributes_to_conf()
1246 static int write_role_attributes_to_conf(FILE *out, struct policydb *pdb) in write_role_attributes_to_conf() argument
1254 rc = strs_init(&strs, pdb->p_roles.nprim); in write_role_attributes_to_conf()
1259 for (i=0; i < pdb->p_roles.nprim; i++) { in write_role_attributes_to_conf()
1260 role = pdb->role_val_to_struct[i]; in write_role_attributes_to_conf()
1262 rc = strs_add(strs, pdb->p_role_val_to_name[i]); in write_role_attributes_to_conf()
1302 static int write_boolean_decl_rules_to_conf(FILE *out, struct policydb *pdb) in write_boolean_decl_rules_to_conf() argument
1312 rc = hashtab_map(pdb->p_bools.table, map_boolean_to_strs, strs); in write_boolean_decl_rules_to_conf()
1331 static int write_type_decl_rules_to_conf(FILE *out, struct policydb *pdb) in write_type_decl_rules_to_conf() argument
1339 rc = strs_init(&strs, pdb->p_types.nprim); in write_type_decl_rules_to_conf()
1344 for (i=0; i < pdb->p_types.nprim; i++) { in write_type_decl_rules_to_conf()
1345 type = pdb->type_val_to_struct[i]; in write_type_decl_rules_to_conf()
1347 rc = strs_add(strs, pdb->p_type_val_to_name[i]); in write_type_decl_rules_to_conf()
1399 static int write_type_alias_rules_to_conf(FILE *out, struct policydb *pdb) in write_type_alias_rules_to_conf() argument
1408 rc = hashtab_map(pdb->p_types.table, map_count_type_aliases, &num); in write_type_alias_rules_to_conf()
1418 rc = hashtab_map(pdb->p_types.table, map_type_aliases_to_strs, strs); in write_type_alias_rules_to_conf()
1431 alias = hashtab_search(pdb->p_types.table, name); in write_type_alias_rules_to_conf()
1436 type = pdb->p_type_val_to_name[alias->s.value - 1]; in write_type_alias_rules_to_conf()
1450 static int write_type_bounds_rules_to_conf(FILE *out, struct policydb *pdb) in write_type_bounds_rules_to_conf() argument
1459 rc = strs_init(&strs, pdb->p_types.nprim); in write_type_bounds_rules_to_conf()
1464 for (i=0; i < pdb->p_types.nprim; i++) { in write_type_bounds_rules_to_conf()
1465 type = pdb->type_val_to_struct[i]; in write_type_bounds_rules_to_conf()
1468 rc = strs_add(strs, pdb->p_type_val_to_name[i]); in write_type_bounds_rules_to_conf()
1485 type = hashtab_search(pdb->p_types.table, child); in write_type_bounds_rules_to_conf()
1490 parent = pdb->p_type_val_to_name[type->bounds - 1]; in write_type_bounds_rules_to_conf()
1573 static int write_type_attribute_sets_to_conf(FILE *out, struct policydb *pdb) in write_type_attribute_sets_to_conf() argument
1582 rc = strs_init(&strs, pdb->p_types.nprim); in write_type_attribute_sets_to_conf()
1587 for (i=0; i < pdb->p_types.nprim; i++) { in write_type_attribute_sets_to_conf()
1588 type = pdb->type_val_to_struct[i]; in write_type_attribute_sets_to_conf()
1590 if (ebitmap_cardinality(&pdb->type_attr_map[i]) == 1) continue; in write_type_attribute_sets_to_conf()
1592 rc = ebitmap_cpy(&attrmap, &pdb->type_attr_map[i]); in write_type_attribute_sets_to_conf()
1601 name = pdb->p_type_val_to_name[i]; in write_type_attribute_sets_to_conf()
1602 attrs = attrmap_to_str(&attrmap, pdb->p_type_val_to_name); in write_type_attribute_sets_to_conf()
1631 static int write_type_permissive_rules_to_conf(FILE *out, struct policydb *pdb) in write_type_permissive_rules_to_conf() argument
1639 rc = strs_init(&strs, pdb->p_types.nprim); in write_type_permissive_rules_to_conf()
1644 ebitmap_for_each_positive_bit(&pdb->permissive_map, node, i) { in write_type_permissive_rules_to_conf()
1645 rc = strs_add(strs, pdb->p_type_val_to_name[i-1]); in write_type_permissive_rules_to_conf()
1673 static char *avtab_node_to_str(struct policydb *pdb, avtab_key_t *key, avtab_datum_t *datum) in avtab_node_to_str() argument
1714 src = pdb->p_type_val_to_name[key->source_type - 1]; in avtab_node_to_str()
1715 tgt = pdb->p_type_val_to_name[key->target_type - 1]; in avtab_node_to_str()
1717 type = pdb->type_val_to_struct[key->source_type - 1]; in avtab_node_to_str()
1722 class = pdb->p_class_val_to_name[key->target_class - 1]; in avtab_node_to_str()
1725 perms = sepol_av_to_string(pdb, key->target_class, data); in avtab_node_to_str()
1741 new = pdb->p_type_val_to_name[data - 1]; in avtab_node_to_str()
1757 struct policydb *pdb; member
1766 struct policydb *pdb = map_args->pdb; in map_avtab_write_helper() local
1772 rule = avtab_node_to_str(pdb, key, datum); in map_avtab_write_helper()
1788 static int write_avtab_flavor_to_conf(FILE *out, struct policydb *pdb, uint32_t flavor, int indent) in write_avtab_flavor_to_conf() argument
1799 args.pdb = pdb; in write_avtab_flavor_to_conf()
1803 rc = avtab_map(&pdb->te_avtab, map_avtab_write_helper, &args); in write_avtab_flavor_to_conf()
1818 static int write_avtab_to_conf(FILE *out, struct policydb *pdb, int indent) in write_avtab_to_conf() argument
1824 rc = write_avtab_flavor_to_conf(out, pdb, avtab_flavors[i], indent); in write_avtab_to_conf()
1839 struct policydb *pdb; member
1848 struct policydb *pdb = map_args->pdb; in map_filename_trans_to_str() local
1855 tgt = pdb->p_type_val_to_name[ft->ttype - 1]; in map_filename_trans_to_str()
1856 class = pdb->p_class_val_to_name[ft->tclass - 1]; in map_filename_trans_to_str()
1859 new = pdb->p_type_val_to_name[datum->otype - 1]; in map_filename_trans_to_str()
1862 src = pdb->p_type_val_to_name[bit]; in map_filename_trans_to_str()
1876 static int write_filename_trans_rules_to_conf(FILE *out, struct policydb *pdb) in write_filename_trans_rules_to_conf() argument
1887 args.pdb = pdb; in write_filename_trans_rules_to_conf()
1890 rc = hashtab_map(pdb->filename_trans, map_filename_trans_to_str, &args); in write_filename_trans_rules_to_conf()
1909 static char *level_to_str(struct policydb *pdb, struct mls_level *level) in level_to_str() argument
1913 char *sens_str = pdb->p_sens_val_to_name[level->sens - 1]; in level_to_str()
1917 cats_str = cats_ebitmap_to_str(cats, pdb->p_cat_val_to_name); in level_to_str()
1927 static char *range_to_str(struct policydb *pdb, mls_range_t *range) in range_to_str() argument
1933 low = level_to_str(pdb, &range->level[0]); in range_to_str()
1938 high = level_to_str(pdb, &range->level[1]); in range_to_str()
1953 struct policydb *pdb; member
1962 struct policydb *pdb = map_args->pdb; in map_range_trans_to_str() local
1967 src = pdb->p_type_val_to_name[rt->source_type - 1]; in map_range_trans_to_str()
1968 tgt = pdb->p_type_val_to_name[rt->target_type - 1]; in map_range_trans_to_str()
1969 class = pdb->p_class_val_to_name[rt->target_class - 1]; in map_range_trans_to_str()
1970 range = range_to_str(pdb, mls_range); in map_range_trans_to_str()
1987 static int write_range_trans_rules_to_conf(FILE *out, struct policydb *pdb) in write_range_trans_rules_to_conf() argument
1998 args.pdb = pdb; in write_range_trans_rules_to_conf()
2001 rc = hashtab_map(pdb->range_tr, map_range_trans_to_str, &args); in write_range_trans_rules_to_conf()
2020 static int write_cond_av_list_to_conf(FILE *out, struct policydb *pdb, cond_av_list_t *cond_list, i… in write_cond_av_list_to_conf() argument
2044 rule = avtab_node_to_str(pdb, key, datum); in write_cond_av_list_to_conf()
2083 static int write_cond_nodes_to_conf(FILE *out, struct policydb *pdb) in write_cond_nodes_to_conf() argument
2092 for (cond = pdb->cond_list; cond != NULL; cond = cond->next) { in write_cond_nodes_to_conf()
2107 for (cond = pdb->cond_list; cond != NULL; cond = cond->next) { in write_cond_nodes_to_conf()
2109 expr = cond_expr_to_str(pdb, cond->expr); in write_cond_nodes_to_conf()
2127 rc = write_cond_av_list_to_conf(out, pdb, cond->true_list, 1); in write_cond_nodes_to_conf()
2135 rc = write_cond_av_list_to_conf(out, pdb, cond->false_list, 1); in write_cond_nodes_to_conf()
2158 static int write_role_decl_rules_to_conf(FILE *out, struct policydb *pdb) in write_role_decl_rules_to_conf() argument
2166 rc = strs_init(&strs, pdb->p_roles.nprim); in write_role_decl_rules_to_conf()
2172 for (i=1; i < pdb->p_roles.nprim; i++) { in write_role_decl_rules_to_conf()
2173 role = pdb->role_val_to_struct[i]; in write_role_decl_rules_to_conf()
2175 rc = strs_add(strs, pdb->p_role_val_to_name[i]); in write_role_decl_rules_to_conf()
2197 role = hashtab_search(pdb->p_roles.table, name); in write_role_decl_rules_to_conf()
2203 types = ebitmap_to_str(&role->types.types, pdb->p_type_val_to_name, 1); in write_role_decl_rules_to_conf()
2240 static int write_role_transition_rules_to_conf(FILE *out, struct policydb *pdb) in write_role_transition_rules_to_conf() argument
2242 role_trans_t *curr = pdb->role_tr; in write_role_transition_rules_to_conf()
2253 role = pdb->p_role_val_to_name[curr->role - 1]; in write_role_transition_rules_to_conf()
2254 type = pdb->p_type_val_to_name[curr->type - 1]; in write_role_transition_rules_to_conf()
2255 class = pdb->p_class_val_to_name[curr->tclass - 1]; in write_role_transition_rules_to_conf()
2256 new = pdb->p_role_val_to_name[curr->new_role - 1]; in write_role_transition_rules_to_conf()
2281 static int write_role_allow_rules_to_conf(FILE *out, struct policydb *pdb) in write_role_allow_rules_to_conf() argument
2283 role_allow_t *curr = pdb->role_allow; in write_role_allow_rules_to_conf()
2294 role = pdb->p_role_val_to_name[curr->role - 1]; in write_role_allow_rules_to_conf()
2295 new = pdb->p_role_val_to_name[curr->new_role - 1]; in write_role_allow_rules_to_conf()
2319 static int write_user_decl_rules_to_conf(FILE *out, struct policydb *pdb) in write_user_decl_rules_to_conf() argument
2327 rc = strs_init(&strs, pdb->p_users.nprim); in write_user_decl_rules_to_conf()
2332 for (i=0; i < pdb->p_users.nprim; i++) { in write_user_decl_rules_to_conf()
2333 if (!pdb->p_user_val_to_name[i]) continue; in write_user_decl_rules_to_conf()
2334 rc = strs_add(strs, pdb->p_user_val_to_name[i]); in write_user_decl_rules_to_conf()
2349 user = hashtab_search(pdb->p_users.table, name); in write_user_decl_rules_to_conf()
2358 pdb->p_role_val_to_name, 1); in write_user_decl_rules_to_conf()
2371 if (pdb->mls) { in write_user_decl_rules_to_conf()
2372 level = level_to_str(pdb, &user->exp_dfltlevel); in write_user_decl_rules_to_conf()
2380 range = range_to_str(pdb, &user->exp_range); in write_user_decl_rules_to_conf()
2402 static char *context_to_str(struct policydb *pdb, struct context_struct *con) in context_to_str() argument
2407 user = pdb->p_user_val_to_name[con->user - 1]; in context_to_str()
2408 role = pdb->p_role_val_to_name[con->role - 1]; in context_to_str()
2409 type = pdb->p_type_val_to_name[con->type - 1]; in context_to_str()
2411 if (pdb->mls) { in context_to_str()
2412 range = range_to_str(pdb, &con->range); in context_to_str()
2422 static int write_sid_context_rules_to_conf(FILE *out, struct policydb *pdb, const char *const *sid_… in write_sid_context_rules_to_conf() argument
2437 for (isid = pdb->ocontexts[0]; isid != NULL; isid = isid->next) { in write_sid_context_rules_to_conf()
2446 ctx = context_to_str(pdb, &isid->context[0]); in write_sid_context_rules_to_conf()
2479 static int write_selinux_isid_rules_to_conf(FILE *out, struct policydb *pdb) in write_selinux_isid_rules_to_conf() argument
2481 return write_sid_context_rules_to_conf(out, pdb, selinux_sid_to_str, in write_selinux_isid_rules_to_conf()
2485 static int write_selinux_fsuse_rules_to_conf(FILE *out, struct policydb *pdb) in write_selinux_fsuse_rules_to_conf() argument
2492 for (fsuse = pdb->ocontexts[5]; fsuse != NULL; fsuse = fsuse->next) { in write_selinux_fsuse_rules_to_conf()
2504 ctx = context_to_str(pdb, &fsuse->context[0]); in write_selinux_fsuse_rules_to_conf()
2523 static int write_genfscon_rules_to_conf(FILE *out, struct policydb *pdb) in write_genfscon_rules_to_conf() argument
2538 for (genfs = pdb->genfs; genfs != NULL; genfs = genfs->next) { in write_genfscon_rules_to_conf()
2546 const char *class_name = pdb->p_class_val_to_name[sclass-1]; in write_genfscon_rules_to_conf()
2567 ctx = context_to_str(pdb, &ocon->context[0]); in write_genfscon_rules_to_conf()
2601 static int write_selinux_port_rules_to_conf(FILE *out, struct policydb *pdb) in write_selinux_port_rules_to_conf() argument
2611 for (portcon = pdb->ocontexts[2]; portcon != NULL; portcon = portcon->next) { in write_selinux_port_rules_to_conf()
2635 ctx = context_to_str(pdb, &portcon->context[0]); in write_selinux_port_rules_to_conf()
2656 static int write_selinux_netif_rules_to_conf(FILE *out, struct policydb *pdb) in write_selinux_netif_rules_to_conf() argument
2662 for (netif = pdb->ocontexts[3]; netif != NULL; netif = netif->next) { in write_selinux_netif_rules_to_conf()
2664 ctx1 = context_to_str(pdb, &netif->context[0]); in write_selinux_netif_rules_to_conf()
2669 ctx2 = context_to_str(pdb, &netif->context[1]); in write_selinux_netif_rules_to_conf()
2690 static int write_selinux_node_rules_to_conf(FILE *out, struct policydb *pdb) in write_selinux_node_rules_to_conf() argument
2698 for (node = pdb->ocontexts[4]; node != NULL; node = node->next) { in write_selinux_node_rules_to_conf()
2711 ctx = context_to_str(pdb, &node->context[0]); in write_selinux_node_rules_to_conf()
2731 static int write_selinux_node6_rules_to_conf(FILE *out, struct policydb *pdb) in write_selinux_node6_rules_to_conf() argument
2739 for (node6 = pdb->ocontexts[6]; node6 != NULL; node6 = node6->next) { in write_selinux_node6_rules_to_conf()
2752 ctx = context_to_str(pdb, &node6->context[0]); in write_selinux_node6_rules_to_conf()
2771 static int write_selinux_ibpkey_rules_to_conf(FILE *out, struct policydb *pdb) in write_selinux_ibpkey_rules_to_conf() argument
2782 for (ibpkeycon = pdb->ocontexts[OCON_IBPKEY]; ibpkeycon != NULL; in write_selinux_ibpkey_rules_to_conf()
2806 ctx = context_to_str(pdb, &ibpkeycon->context[0]); in write_selinux_ibpkey_rules_to_conf()
2828 static int write_selinux_ibendport_rules_to_conf(FILE *out, struct policydb *pdb) in write_selinux_ibendport_rules_to_conf() argument
2835 for (ibendportcon = pdb->ocontexts[OCON_IBENDPORT]; in write_selinux_ibendport_rules_to_conf()
2843 ctx = context_to_str(pdb, &ibendportcon->context[0]); in write_selinux_ibendport_rules_to_conf()
2864 static int write_xen_isid_rules_to_conf(FILE *out, struct policydb *pdb) in write_xen_isid_rules_to_conf() argument
2866 return write_sid_context_rules_to_conf(out, pdb, xen_sid_to_str, XEN_SID_SZ); in write_xen_isid_rules_to_conf()
2870 static int write_xen_pirq_rules_to_conf(FILE *out, struct policydb *pdb) in write_xen_pirq_rules_to_conf() argument
2877 for (pirq = pdb->ocontexts[1]; pirq != NULL; pirq = pirq->next) { in write_xen_pirq_rules_to_conf()
2885 ctx = context_to_str(pdb, &pirq->context[0]); in write_xen_pirq_rules_to_conf()
2907 static int write_xen_ioport_rules_to_conf(FILE *out, struct policydb *pdb) in write_xen_ioport_rules_to_conf() argument
2916 for (ioport = pdb->ocontexts[2]; ioport != NULL; ioport = ioport->next) { in write_xen_ioport_rules_to_conf()
2929 ctx = context_to_str(pdb, &ioport->context[0]); in write_xen_ioport_rules_to_conf()
2950 static int write_xen_iomem_rules_to_conf(FILE *out, struct policydb *pdb) in write_xen_iomem_rules_to_conf() argument
2959 for (iomem = pdb->ocontexts[3]; iomem != NULL; iomem = iomem->next) { in write_xen_iomem_rules_to_conf()
2972 ctx = context_to_str(pdb, &iomem->context[0]); in write_xen_iomem_rules_to_conf()
2993 static int write_xen_pcidevice_rules_to_conf(FILE *out, struct policydb *pdb) in write_xen_pcidevice_rules_to_conf() argument
3000 for (pcid = pdb->ocontexts[4]; pcid != NULL; pcid = pcid->next) { in write_xen_pcidevice_rules_to_conf()
3007 ctx = context_to_str(pdb, &pcid->context[0]); in write_xen_pcidevice_rules_to_conf()
3028 static int write_xen_devicetree_rules_to_conf(FILE *out, struct policydb *pdb) in write_xen_devicetree_rules_to_conf() argument
3034 for (dtree = pdb->ocontexts[5]; dtree != NULL; dtree = dtree->next) { in write_xen_devicetree_rules_to_conf()
3036 ctx = context_to_str(pdb, &dtree->context[0]); in write_xen_devicetree_rules_to_conf()
3055 int sepol_kernel_policydb_to_conf(FILE *out, struct policydb *pdb) in sepol_kernel_policydb_to_conf() argument
3083 if (pdb == NULL) { in sepol_kernel_policydb_to_conf()
3089 if (pdb->policy_type != SEPOL_POLICY_KERN) { in sepol_kernel_policydb_to_conf()
3095 if (pdb->policyvers >= POLICYDB_VERSION_AVTAB && pdb->policyvers <= POLICYDB_VERSION_PERMISSIVE) { in sepol_kernel_policydb_to_conf()
3107 rc = constraint_rules_to_strs(pdb, mls_constraints, non_mls_constraints); in sepol_kernel_policydb_to_conf()
3112 rc = validatetrans_rules_to_strs(pdb, mls_validatetrans, non_mls_validatetrans); in sepol_kernel_policydb_to_conf()
3117 rc = write_handle_unknown_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3122 rc = write_class_decl_rules_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3127 rc = write_sid_decl_rules_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3132 rc = write_class_and_common_rules_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3137 rc = write_default_rules_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3142 rc = write_mls_rules_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3150 rc = write_polcap_rules_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3155 rc = write_type_attributes_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3160 rc = write_role_attributes_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3165 rc = write_boolean_decl_rules_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3170 rc = write_type_decl_rules_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3175 rc = write_type_alias_rules_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3180 rc = write_type_bounds_rules_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3185 rc = write_type_attribute_sets_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3190 rc = write_type_permissive_rules_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3195 rc = write_avtab_to_conf(out, pdb, 0); in sepol_kernel_policydb_to_conf()
3199 write_filename_trans_rules_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3201 if (pdb->mls) { in sepol_kernel_policydb_to_conf()
3202 rc = write_range_trans_rules_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3208 rc = write_cond_nodes_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3213 rc = write_role_decl_rules_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3218 rc = write_role_transition_rules_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3223 rc = write_role_allow_rules_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3228 rc = write_user_decl_rules_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3236 rc = sort_ocontexts(pdb); in sepol_kernel_policydb_to_conf()
3241 if (pdb->target_platform == SEPOL_TARGET_SELINUX) { in sepol_kernel_policydb_to_conf()
3242 rc = write_selinux_isid_rules_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3247 rc = write_selinux_fsuse_rules_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3252 rc = write_genfscon_rules_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3257 rc = write_selinux_port_rules_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3262 rc = write_selinux_netif_rules_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3267 rc = write_selinux_node_rules_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3272 rc = write_selinux_node6_rules_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3277 rc = write_selinux_ibpkey_rules_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3282 rc = write_selinux_ibendport_rules_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3286 } else if (pdb->target_platform == SEPOL_TARGET_XEN) { in sepol_kernel_policydb_to_conf()
3287 rc = write_xen_isid_rules_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3292 rc = write_genfscon_rules_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3297 rc = write_xen_pirq_rules_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3302 rc = write_xen_iomem_rules_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3307 rc = write_xen_ioport_rules_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3312 rc = write_xen_pcidevice_rules_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()
3317 rc = write_xen_devicetree_rules_to_conf(out, pdb); in sepol_kernel_policydb_to_conf()