Lines Matching refs:pdb

163 	struct policydb *pdb;  member
331 struct policydb *pdb = arg; in typealiases_gather_map() local
337 scope = hashtab_search(pdb->scope[SYM_TYPES].table, key); in typealiases_gather_map()
379 static int typealias_list_create(struct policydb *pdb) in typealias_list_create() argument
386 for (block = pdb->global; block != NULL; block = block->next) { in typealias_list_create()
396 rc = hashtab_map(pdb->p_types.table, typealiases_gather_map, pdb); in typealias_list_create()
489 static int is_id_in_scope_with_start(struct policydb *pdb, struct stack *decl_stack, int start, uin… in is_id_in_scope_with_start() argument
496 scope = hashtab_search(pdb->scope[symbol_type].table, id); in is_id_in_scope_with_start()
514 static int is_id_in_ancestor_scope(struct policydb *pdb, struct stack *decl_stack, char *type, uint… in is_id_in_ancestor_scope() argument
518 return is_id_in_scope_with_start(pdb, decl_stack, start, symbol_type, type); in is_id_in_ancestor_scope()
521 static int is_id_in_scope(struct policydb *pdb, struct stack *decl_stack, char *type, uint32_t symb… in is_id_in_scope() argument
525 return is_id_in_scope_with_start(pdb, decl_stack, start, symbol_type, type); in is_id_in_scope()
528 static int semantic_level_to_cil(struct policydb *pdb, int sens_offset, struct mls_semantic_level *… in semantic_level_to_cil() argument
532 cil_printf("(%s ", pdb->p_sens_val_to_name[level->sens - sens_offset]); in semantic_level_to_cil()
540 cil_printf("%s", pdb->p_cat_val_to_name[cat->low - 1]); in semantic_level_to_cil()
542 …cil_printf("range %s %s", pdb->p_cat_val_to_name[cat->low - 1], pdb->p_cat_val_to_name[cat->high -… in semantic_level_to_cil()
559 static int avrule_to_cil(int indent, struct policydb *pdb, uint32_t type, const char *src, const ch… in avrule_to_cil() argument
599 perms = sepol_av_to_string(pdb, classperm->tclass, classperm->data); in avrule_to_cil()
607 pdb->p_class_val_to_name[classperm->tclass - 1], in avrule_to_cil()
612 pdb->p_class_val_to_name[classperm->tclass - 1], in avrule_to_cil()
613 pdb->p_type_val_to_name[classperm->data - 1]); in avrule_to_cil()
681 static int avrulex_to_cil(int indent, struct policydb *pdb, uint32_t type, const char *src, const c… in avrulex_to_cil() argument
709 "ioctl", pdb->p_class_val_to_name[classperm->tclass - 1]); in avrulex_to_cil()
730 static int ebitmap_to_cil(struct policydb *pdb, struct ebitmap *map, int type) in ebitmap_to_cil() argument
734 char **val_to_name = pdb->sym_val_to_name[type]; in ebitmap_to_cil()
743 static char *get_new_attr_name(struct policydb *pdb, int is_type) in get_new_attr_name() argument
758 len = strlen(pdb->name) + strlen(infix) + num_digits(num_attrs) + 1; in get_new_attr_name()
765 rlen = snprintf(attr_name, len, "%s%s%i", pdb->name, infix, num_attrs); in get_new_attr_name()
805 static int cil_print_attr_strs(int indent, struct policydb *pdb, int is_type, void *set, char *attr… in cil_print_attr_strs() argument
827 val_to_name = pdb->p_type_val_to_name; in cil_print_attr_strs()
836 val_to_name = pdb->p_role_val_to_name; in cil_print_attr_strs()
892 static int cil_print_attr_list(int indent, struct policydb *pdb, struct list *attr_list) in cil_print_attr_list() argument
900 rc = cil_print_attr_strs(indent, pdb, node->is_type, node->set, node->attr_name); in cil_print_attr_list()
948 static int set_to_names(struct policydb *pdb, int is_type, void *set, struct list *attr_list, char … in set_to_names() argument
959 attr_name = get_new_attr_name(pdb, is_type); in set_to_names()
1029 static int process_roleset(struct policydb *pdb, struct role_set *rs, struct list *attr_list, char … in process_roleset() argument
1037 rc = set_to_names(pdb, 0, &rs->roles, attr_list, names, num_names); in process_roleset()
1042 rc = ebitmap_to_names(&rs->roles, pdb->p_role_val_to_name, names, num_names); in process_roleset()
1052 static int process_typeset(struct policydb *pdb, struct type_set *ts, struct list *attr_list, char … in process_typeset() argument
1060 rc = set_to_names(pdb, 1, ts, attr_list, names, num_names); in process_typeset()
1065 rc = ebitmap_to_names(&ts->types, pdb->p_type_val_to_name, names, num_names); in process_typeset()
1082 static int roletype_role_in_ancestor_to_cil(struct policydb *pdb, struct stack *decl_stack, char *t… in roletype_role_in_ancestor_to_cil() argument
1099 if (!is_id_in_ancestor_scope(pdb, decl_stack, role_node->role_name, SYM_ROLES)) { in roletype_role_in_ancestor_to_cil()
1104 rc = process_typeset(pdb, ts, attr_list, &tnames, &num_tnames); in roletype_role_in_ancestor_to_cil()
1116 rc = cil_print_attr_list(indent, pdb, attr_list); in roletype_role_in_ancestor_to_cil()
1181 static int avrule_list_to_cil(int indent, struct policydb *pdb, struct avrule *avrule_list, struct … in avrule_list_to_cil() argument
1197 rc = process_typeset(pdb, ts, attr_list, &snames, &num_snames); in avrule_list_to_cil()
1203 rc = process_typeset(pdb, ts, attr_list, &tnames, &num_tnames); in avrule_list_to_cil()
1211 …rc = avrulex_to_cil(indent, pdb, avrule->specified, snames[s], tnames[t], avrule->perms, avrule->x… in avrule_list_to_cil()
1213 rc = avrule_to_cil(indent, pdb, avrule->specified, snames[s], tnames[t], avrule->perms); in avrule_list_to_cil()
1222 …rc = avrulex_to_cil(indent, pdb, avrule->specified, snames[s], "self", avrule->perms, avrule->xper… in avrule_list_to_cil()
1224 rc = avrule_to_cil(indent, pdb, avrule->specified, snames[s], "self", avrule->perms); in avrule_list_to_cil()
1250 static int cond_expr_to_cil(int indent, struct policydb *pdb, struct cond_expr *cond_expr, uint32_t… in cond_expr_to_cil() argument
1273 val1 = pdb->p_bool_val_to_name[curr->bool - 1]; in cond_expr_to_cil()
1393 static int cond_list_to_cil(int indent, struct policydb *pdb, struct cond_node *cond_list, struct l… in cond_list_to_cil() argument
1400 rc = cond_expr_to_cil(indent, pdb, cond->expr, cond->flags); in cond_list_to_cil()
1407 rc = avrule_list_to_cil(indent + 2, pdb, cond->avtrue_list, attr_list); in cond_list_to_cil()
1416 rc = avrule_list_to_cil(indent + 2, pdb, cond->avfalse_list, attr_list); in cond_list_to_cil()
1430 static int role_trans_to_cil(int indent, struct policydb *pdb, struct role_trans_rule *rules, struc… in role_trans_to_cil() argument
1447 rc = process_roleset(pdb, rs, role_attr_list, &role_names, &num_role_names); in role_trans_to_cil()
1453 rc = process_typeset(pdb, ts, type_attr_list, &type_names, &num_type_names); in role_trans_to_cil()
1463 pdb->p_class_val_to_name[i], in role_trans_to_cil()
1464 pdb->p_role_val_to_name[rule->new_role - 1]); in role_trans_to_cil()
1480 static int role_allows_to_cil(int indent, struct policydb *pdb, struct role_allow_rule *rules, stru… in role_allows_to_cil() argument
1493 rc = process_roleset(pdb, rs, attr_list, &roles, &num_roles); in role_allows_to_cil()
1499 rc = process_roleset(pdb, rs, attr_list, &new_roles, &num_new_roles); in role_allows_to_cil()
1523 static int range_trans_to_cil(int indent, struct policydb *pdb, struct range_trans_rule *rules, str… in range_trans_to_cil() argument
1537 if (!pdb->mls) { in range_trans_to_cil()
1543 rc = process_typeset(pdb, ts, attr_list, &stypes, &num_stypes); in range_trans_to_cil()
1549 rc = process_typeset(pdb, ts, attr_list, &ttypes, &num_ttypes); in range_trans_to_cil()
1558 …cil_printf("(rangetransition %s %s %s ", stypes[stype], ttypes[ttype], pdb->p_class_val_to_name[i]… in range_trans_to_cil()
1562 rc = semantic_level_to_cil(pdb, 1, &rule->trange.level[0]); in range_trans_to_cil()
1569 rc = semantic_level_to_cil(pdb, 1, &rule->trange.level[1]); in range_trans_to_cil()
1593 static int filename_trans_to_cil(int indent, struct policydb *pdb, struct filename_trans_rule *rule… in filename_trans_to_cil() argument
1607 rc = process_typeset(pdb, ts, attr_list, &stypes, &num_stypes); in filename_trans_to_cil()
1613 rc = process_typeset(pdb, ts, attr_list, &ttypes, &num_ttypes); in filename_trans_to_cil()
1622 pdb->p_class_val_to_name[rule->tclass - 1], in filename_trans_to_cil()
1624 pdb->p_type_val_to_name[rule->otype - 1]); in filename_trans_to_cil()
1702 static int constraint_expr_to_string(struct policydb *pdb, struct constraint_expr *exprs, char **ex… in constraint_expr_to_string() argument
1781 rc = ebitmap_to_names(&ts->types, pdb->p_type_val_to_name, &name_list, &num_names); in constraint_expr_to_string()
1786 rc = ebitmap_to_names(&expr->names, pdb->p_user_val_to_name, &name_list, &num_names); in constraint_expr_to_string()
1791 rc = ebitmap_to_names(&expr->names, pdb->p_role_val_to_name, &name_list, &num_names); in constraint_expr_to_string()
1922 static int constraints_to_cil(int indent, struct policydb *pdb, char *classkey, struct class_datum … in constraints_to_cil() argument
1930 mls = pdb->mls ? "mls" : ""; in constraints_to_cil()
1934 rc = constraint_expr_to_string(pdb, node->expr, &expr); in constraints_to_cil()
1940 perms = sepol_av_to_string(pdb, class->s.value, node->permissions); in constraints_to_cil()
1957 static int class_to_cil(int indent, struct policydb *pdb, struct avrule_block *UNUSED(block), struc… in class_to_cil() argument
2047 rc = constraints_to_cil(indent, pdb, key, class, class->constraints, 1); in class_to_cil()
2054 rc = constraints_to_cil(indent, pdb, key, class, class->validatetrans, 0); in class_to_cil()
2067 static int class_order_to_cil(int indent, struct policydb *pdb, struct ebitmap order) in class_order_to_cil() argument
2080 cil_printf("%s ", pdb->sym_val_to_name[SYM_CLASSES][i]); in class_order_to_cil()
2088 static int role_to_cil(int indent, struct policydb *pdb, struct avrule_block *UNUSED(block), struct… in role_to_cil() argument
2146 if ((is_base_role && pdb->policy_type == SEPOL_POLICY_BASE) || in role_to_cil()
2157 rc = process_typeset(pdb, ts, attr_list, &types, &num_types); in role_to_cil()
2163 if (is_id_in_scope(pdb, decl_stack, types[j], SYM_TYPES)) { in role_to_cil()
2169 cil_println(indent, "(rolebounds %s %s)", key, pdb->p_role_val_to_name[role->bounds - 1]); in role_to_cil()
2182 cil_printf("%s ", pdb->p_role_val_to_name[i]); in role_to_cil()
2188 rc = process_typeset(pdb, ts, attr_list, &types, &num_types); in role_to_cil()
2195 if (is_id_in_scope(pdb, decl_stack, types[j], SYM_TYPES)) { in role_to_cil()
2208 rc = cil_print_attr_list(indent, pdb, attr_list); in role_to_cil()
2220 static int type_to_cil(int indent, struct policydb *pdb, struct avrule_block *UNUSED(block), struct… in type_to_cil() argument
2234 rc = roletype_role_in_ancestor_to_cil(pdb, decl_stack, key, indent); in type_to_cil()
2253 cil_println(indent, "(typebounds %s %s)", pdb->p_type_val_to_name[type->bounds - 1], key); in type_to_cil()
2275 ebitmap_to_cil(pdb, &type->types, SYM_TYPES); in type_to_cil()
2293 static int user_to_cil(int indent, struct policydb *pdb, struct avrule_block *block, struct stack *… in user_to_cil() argument
2311 cil_println(indent, "(userrole %s %s)", key, pdb->p_role_val_to_name[i]); in user_to_cil()
2322 if (pdb->mls) { in user_to_cil()
2323 semantic_level_to_cil(pdb, sens_offset, &level); in user_to_cil()
2331 if (pdb->mls) { in user_to_cil()
2332 semantic_level_to_cil(pdb, sens_offset, &range.level[0]); in user_to_cil()
2334 semantic_level_to_cil(pdb, sens_offset, &range.level[1]); in user_to_cil()
2344 static int boolean_to_cil(int indent, struct policydb *UNUSED(pdb), struct avrule_block *UNUSED(blo… in boolean_to_cil() argument
2362 static int sens_to_cil(int indent, struct policydb *pdb, struct avrule_block *UNUSED(block), struct… in sens_to_cil() argument
2371 …cil_println(indent, "(sensitivityaliasactual %s %s)", key, pdb->p_sens_val_to_name[level->level->s… in sens_to_cil()
2378 ebitmap_to_cil(pdb, &level->level->cat, SYM_CATS); in sens_to_cil()
2385 static int sens_order_to_cil(int indent, struct policydb *pdb, struct ebitmap order) in sens_order_to_cil() argument
2398 cil_printf("%s ", pdb->p_sens_val_to_name[i]); in sens_order_to_cil()
2406 static int cat_to_cil(int indent, struct policydb *pdb, struct avrule_block *UNUSED(block), struct … in cat_to_cil() argument
2418 cil_println(indent, "(categoryaliasactual %s %s)", key, pdb->p_cat_val_to_name[cat->s.value - 1]); in cat_to_cil()
2424 static int cat_order_to_cil(int indent, struct policydb *pdb, struct ebitmap order) in cat_order_to_cil() argument
2439 cil_printf("%s ", pdb->p_cat_val_to_name[i]); in cat_order_to_cil()
2449 static int polcaps_to_cil(struct policydb *pdb) in polcaps_to_cil() argument
2457 map = &pdb->policycaps; in polcaps_to_cil()
2475 static int level_to_cil(struct policydb *pdb, struct mls_level *level) in level_to_cil() argument
2479 cil_printf("(%s", pdb->p_sens_val_to_name[level->sens - 1]); in level_to_cil()
2483 ebitmap_to_cil(pdb, map, SYM_CATS); in level_to_cil()
2492 static int context_to_cil(struct policydb *pdb, struct context_struct *con) in context_to_cil() argument
2495 pdb->p_user_val_to_name[con->user - 1], in context_to_cil()
2496 pdb->p_role_val_to_name[con->role - 1], in context_to_cil()
2497 pdb->p_type_val_to_name[con->type - 1]); in context_to_cil()
2499 if (pdb->mls) { in context_to_cil()
2500 level_to_cil(pdb, &con->range.level[0]); in context_to_cil()
2502 level_to_cil(pdb, &con->range.level[1]); in context_to_cil()
2514 static int ocontext_isid_to_cil(struct policydb *pdb, const char *const *sid_to_string, in ocontext_isid_to_cil() argument
2542 context_to_cil(pdb, &isid->context[0]); in ocontext_isid_to_cil()
2578 static int ocontext_selinux_isid_to_cil(struct policydb *pdb, struct ocontext *isids) in ocontext_selinux_isid_to_cil() argument
2582 rc = ocontext_isid_to_cil(pdb, selinux_sid_to_str, SELINUX_SID_SZ, isids); in ocontext_selinux_isid_to_cil()
2593 static int ocontext_selinux_fs_to_cil(struct policydb *UNUSED(pdb), struct ocontext *fss) in ocontext_selinux_fs_to_cil() argument
2602 static int ocontext_selinux_port_to_cil(struct policydb *pdb, struct ocontext *portcons) in ocontext_selinux_port_to_cil() argument
2632 context_to_cil(pdb, &portcon->context[0]); in ocontext_selinux_port_to_cil()
2642 static int ocontext_selinux_ibpkey_to_cil(struct policydb *pdb, in ocontext_selinux_ibpkey_to_cil() argument
2672 context_to_cil(pdb, &ibpkeycon->context[0]); in ocontext_selinux_ibpkey_to_cil()
2681 static int ocontext_selinux_netif_to_cil(struct policydb *pdb, struct ocontext *netifs) in ocontext_selinux_netif_to_cil() argument
2687 context_to_cil(pdb, &netif->context[0]); in ocontext_selinux_netif_to_cil()
2690 context_to_cil(pdb, &netif->context[1]); in ocontext_selinux_netif_to_cil()
2697 static int ocontext_selinux_node_to_cil(struct policydb *pdb, struct ocontext *nodes) in ocontext_selinux_node_to_cil() argument
2719 context_to_cil(pdb, &node->context[0]); in ocontext_selinux_node_to_cil()
2729 static int ocontext_selinux_node6_to_cil(struct policydb *pdb, struct ocontext *nodes) in ocontext_selinux_node6_to_cil() argument
2751 context_to_cil(pdb, &node->context[0]); in ocontext_selinux_node6_to_cil()
2761 static int ocontext_selinux_ibendport_to_cil(struct policydb *pdb, struct ocontext *ibendports) in ocontext_selinux_ibendport_to_cil() argument
2767 context_to_cil(pdb, &ibendport->context[0]); in ocontext_selinux_ibendport_to_cil()
2775 static int ocontext_selinux_fsuse_to_cil(struct policydb *pdb, struct ocontext *fsuses) in ocontext_selinux_fsuse_to_cil() argument
2795 context_to_cil(pdb, &fsuse->context[0]); in ocontext_selinux_fsuse_to_cil()
2807 static int ocontext_xen_isid_to_cil(struct policydb *pdb, struct ocontext *isids) in ocontext_xen_isid_to_cil() argument
2811 rc = ocontext_isid_to_cil(pdb, xen_sid_to_str, XEN_SID_SZ, isids); in ocontext_xen_isid_to_cil()
2822 static int ocontext_xen_pirq_to_cil(struct policydb *pdb, struct ocontext *pirqs) in ocontext_xen_pirq_to_cil() argument
2828 context_to_cil(pdb, &pirq->context[0]); in ocontext_xen_pirq_to_cil()
2835 static int ocontext_xen_ioport_to_cil(struct policydb *pdb, struct ocontext *ioports) in ocontext_xen_ioport_to_cil() argument
2851 context_to_cil(pdb, &ioport->context[0]); in ocontext_xen_ioport_to_cil()
2859 static int ocontext_xen_iomem_to_cil(struct policydb *pdb, struct ocontext *iomems) in ocontext_xen_iomem_to_cil() argument
2875 context_to_cil(pdb, &iomem->context[0]); in ocontext_xen_iomem_to_cil()
2883 static int ocontext_xen_pcidevice_to_cil(struct policydb *pdb, struct ocontext *pcids) in ocontext_xen_pcidevice_to_cil() argument
2889 context_to_cil(pdb, &pcid->context[0]); in ocontext_xen_pcidevice_to_cil()
2896 static int ocontexts_to_cil(struct policydb *pdb) in ocontexts_to_cil() argument
2901 static int (**ocon_funcs)(struct policydb *pdb, struct ocontext *ocon); in ocontexts_to_cil()
2902 static int (*ocon_selinux_funcs[OCON_NUM])(struct policydb *pdb, struct ocontext *ocon) = { in ocontexts_to_cil()
2913 static int (*ocon_xen_funcs[OCON_NUM])(struct policydb *pdb, struct ocontext *ocon) = { in ocontexts_to_cil()
2923 switch (pdb->target_platform) { in ocontexts_to_cil()
2931 log_err("Unknown target platform: %i", pdb->target_platform); in ocontexts_to_cil()
2938 rc = ocon_funcs[ocon](pdb, pdb->ocontexts[ocon]); in ocontexts_to_cil()
2950 static int genfscon_to_cil(struct policydb *pdb) in genfscon_to_cil() argument
2955 for (genfs = pdb->genfs; genfs != NULL; genfs = genfs->next) { in genfscon_to_cil()
2958 context_to_cil(pdb, &ocon->context[0]); in genfscon_to_cil()
3329 static int (*func_to_cil[SYM_NUM])(int indent, struct policydb *pdb, struct avrule_block *block, st…
3340 static int typealiases_to_cil(int indent, struct policydb *pdb, struct avrule_block *UNUSED(block),… in typealiases_to_cil() argument
3356 alias_datum = hashtab_search(pdb->p_types.table, alias_name); in typealiases_to_cil()
3362 type_name = pdb->p_type_val_to_name[alias_datum->primary - 1]; in typealiases_to_cil()
3364 type_name = pdb->p_type_val_to_name[alias_datum->s.value - 1]; in typealiases_to_cil()
3376 static int declared_scopes_to_cil(int indent, struct policydb *pdb, struct avrule_block *block, str… in declared_scopes_to_cil() argument
3395 key = pdb->sym_val_to_name[sym][i]; in declared_scopes_to_cil()
3396 datum = hashtab_search(pdb->symtab[sym].table, key); in declared_scopes_to_cil()
3401 scope = hashtab_search(pdb->scope[sym].table, key); in declared_scopes_to_cil()
3406 rc = func_to_cil[sym](indent, pdb, block, decl_stack, key, datum, scope->scope); in declared_scopes_to_cil()
3413 rc = cat_order_to_cil(indent, pdb, map); in declared_scopes_to_cil()
3420 rc = sens_order_to_cil(indent, pdb, map); in declared_scopes_to_cil()
3427 rc = class_order_to_cil(indent, pdb, map); in declared_scopes_to_cil()
3439 static int required_scopes_to_cil(int indent, struct policydb *pdb, struct avrule_block *block, str… in required_scopes_to_cil() argument
3459 key = pdb->sym_val_to_name[sym][i]; in required_scopes_to_cil()
3461 scope_datum = hashtab_search(pdb->scope[sym].table, key); in required_scopes_to_cil()
3482 datum = hashtab_search(pdb->symtab[sym].table, key); in required_scopes_to_cil()
3487 rc = func_to_cil[sym](indent, pdb, block, decl_stack, key, datum, SCOPE_REQ); in required_scopes_to_cil()
3505 …rc = func_to_cil[args->sym_index](args->indent, args->pdb, args->block, args->decl_stack, key, dat… in additive_scopes_to_cil_map()
3516 static int additive_scopes_to_cil(int indent, struct policydb *pdb, struct avrule_block *block, str… in additive_scopes_to_cil() argument
3520 args.pdb = pdb; in additive_scopes_to_cil()
3589 static int block_to_cil(struct policydb *pdb, struct avrule_block *block, struct stack *stack, int … in block_to_cil() argument
3607 rc = typealiases_to_cil(indent, pdb, block, stack); in block_to_cil()
3612 rc = declared_scopes_to_cil(indent, pdb, block, stack); in block_to_cil()
3617 rc = required_scopes_to_cil(indent, pdb, block, stack); in block_to_cil()
3622 rc = additive_scopes_to_cil(indent, pdb, block, stack); in block_to_cil()
3627 rc = avrule_list_to_cil(indent, pdb, decl->avrules, type_attr_list); in block_to_cil()
3632 rc = role_trans_to_cil(indent, pdb, decl->role_tr_rules, role_attr_list, type_attr_list); in block_to_cil()
3637 rc = role_allows_to_cil(indent, pdb, decl->role_allow_rules, role_attr_list); in block_to_cil()
3642 rc = range_trans_to_cil(indent, pdb, decl->range_tr_rules, type_attr_list); in block_to_cil()
3647 rc = filename_trans_to_cil(indent, pdb, decl->filename_trans_rules, type_attr_list); in block_to_cil()
3652 rc = cond_list_to_cil(indent, pdb, decl->cond_list, type_attr_list); in block_to_cil()
3657 rc = cil_print_attr_list(indent, pdb, type_attr_list); in block_to_cil()
3661 rc = cil_print_attr_list(indent, pdb, role_attr_list); in block_to_cil()
3673 static int module_block_to_cil(struct policydb *pdb, struct avrule_block *block, struct stack *stac… in module_block_to_cil() argument
3700 cil_println(*indent, "(optional %s_optional_%i", pdb->name, decl->decl_id); in module_block_to_cil()
3706 rc = block_to_cil(pdb, block, stack, *indent); in module_block_to_cil()
3715 static int global_block_to_cil(struct policydb *pdb, struct avrule_block *block, struct stack *stac… in global_block_to_cil() argument
3734 rc = hashtab_map(pdb->p_commons.table, common_to_cil, NULL); in global_block_to_cil()
3739 rc = block_to_cil(pdb, block, stack, 0); in global_block_to_cil()
3748 static int blocks_to_cil(struct policydb *pdb) in blocks_to_cil() argument
3760 block = pdb->global; in blocks_to_cil()
3761 rc = global_block_to_cil(pdb, block, stack); in blocks_to_cil()
3767 rc = module_block_to_cil(pdb, block, stack, &indent); in blocks_to_cil()
3784 static int linked_block_to_cil(struct policydb *pdb, struct avrule_block *block, struct stack *stac… in linked_block_to_cil() argument
3804 rc = block_to_cil(pdb, block, stack, 0); in linked_block_to_cil()
3815 static int linked_blocks_to_cil(struct policydb *pdb) in linked_blocks_to_cil() argument
3828 block = pdb->global; in linked_blocks_to_cil()
3829 rc = global_block_to_cil(pdb, block, stack); in linked_blocks_to_cil()
3835 rc = linked_block_to_cil(pdb, block, stack); in linked_blocks_to_cil()
3847 static int handle_unknown_to_cil(struct policydb *pdb) in handle_unknown_to_cil() argument
3852 switch (pdb->handle_unknown) { in handle_unknown_to_cil()
3863 log_err("Unknown value for handle-unknown: %i", pdb->handle_unknown); in handle_unknown_to_cil()
3876 static int generate_mls(struct policydb *pdb) in generate_mls() argument
3878 const char *mls_str = pdb->mls ? "true" : "false"; in generate_mls()
3919 static int fix_module_name(struct policydb *pdb) in fix_module_name() argument
3929 if (pdb->policy_type == POLICY_BASE) { in fix_module_name()
3930 pdb->name = strdup("base"); in fix_module_name()
3931 if (pdb->name == NULL) { in fix_module_name()
3940 for (letter = pdb->name; *letter != '\0'; letter++) { in fix_module_name()
3953 int sepol_module_policydb_to_cil(FILE *fp, struct policydb *pdb, int linked) in sepol_module_policydb_to_cil() argument
3959 if (pdb == NULL) { in sepol_module_policydb_to_cil()
3964 if (pdb->policy_type != SEPOL_POLICY_BASE && in sepol_module_policydb_to_cil()
3965 pdb->policy_type != SEPOL_POLICY_MOD) { in sepol_module_policydb_to_cil()
3971 rc = fix_module_name(pdb); in sepol_module_policydb_to_cil()
3976 if (pdb->policy_type == SEPOL_POLICY_BASE && !pdb->mls) { in sepol_module_policydb_to_cil()
3987 if (pdb->policy_type == SEPOL_POLICY_BASE) { in sepol_module_policydb_to_cil()
4007 rc = handle_unknown_to_cil(pdb); in sepol_module_policydb_to_cil()
4013 rc = generate_mls(pdb); in sepol_module_policydb_to_cil()
4019 rc = role_list_create(pdb->p_roles.table); in sepol_module_policydb_to_cil()
4024 rc = typealias_list_create(pdb); in sepol_module_policydb_to_cil()
4029 rc = polcaps_to_cil(pdb); in sepol_module_policydb_to_cil()
4034 rc = ocontexts_to_cil(pdb); in sepol_module_policydb_to_cil()
4039 rc = genfscon_to_cil(pdb); in sepol_module_policydb_to_cil()
4046 rc = linked_blocks_to_cil(pdb); in sepol_module_policydb_to_cil()
4048 rc = blocks_to_cil(pdb); in sepol_module_policydb_to_cil()
4066 struct sepol_policydb *pdb; in sepol_module_package_to_cil() local
4070 pdb = sepol_module_package_get_policy(mod_pkg); in sepol_module_package_to_cil()
4071 if (pdb == NULL) { in sepol_module_package_to_cil()
4077 rc = sepol_module_policydb_to_cil(fp, &pdb->p, 0); in sepol_module_package_to_cil()