Lines Matching full:pdb
163 struct policydb *pdb; member
197 /* A linked list of all roles stored in the pdb
333 struct policydb *pdb = arg; in typealiases_gather_map() local
339 scope = hashtab_search(pdb->scope[SYM_TYPES].table, key); in typealiases_gather_map()
381 static int typealias_list_create(struct policydb *pdb) in typealias_list_create() argument
388 for (block = pdb->global; block != NULL; block = block->next) { in typealias_list_create()
398 rc = hashtab_map(pdb->p_types.table, typealiases_gather_map, pdb); in typealias_list_create()
491 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
498 scope = hashtab_search(pdb->scope[symbol_type].table, id); in is_id_in_scope_with_start()
516 static int is_id_in_ancestor_scope(struct policydb *pdb, struct stack *decl_stack, char *type, uint… in is_id_in_ancestor_scope() argument
520 return is_id_in_scope_with_start(pdb, decl_stack, start, symbol_type, type); in is_id_in_ancestor_scope()
523 static int is_id_in_scope(struct policydb *pdb, struct stack *decl_stack, char *type, uint32_t symb… in is_id_in_scope() argument
527 return is_id_in_scope_with_start(pdb, decl_stack, start, symbol_type, type); in is_id_in_scope()
530 static int semantic_level_to_cil(struct policydb *pdb, int sens_offset, struct mls_semantic_level *… in semantic_level_to_cil() argument
534 cil_printf("(%s ", pdb->p_sens_val_to_name[level->sens - sens_offset]); in semantic_level_to_cil()
542 cil_printf("%s", pdb->p_cat_val_to_name[cat->low - 1]); in semantic_level_to_cil()
544 …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()
561 static int avrule_to_cil(int indent, struct policydb *pdb, uint32_t type, const char *src, const ch… in avrule_to_cil() argument
601 perms = sepol_av_to_string(pdb, classperm->tclass, classperm->data); in avrule_to_cil()
609 pdb->p_class_val_to_name[classperm->tclass - 1], in avrule_to_cil()
614 pdb->p_class_val_to_name[classperm->tclass - 1], in avrule_to_cil()
615 pdb->p_type_val_to_name[classperm->data - 1]); in avrule_to_cil()
683 static int avrulex_to_cil(int indent, struct policydb *pdb, uint32_t type, const char *src, const c… in avrulex_to_cil() argument
711 "ioctl", pdb->p_class_val_to_name[classperm->tclass - 1]); in avrulex_to_cil()
732 static int ebitmap_to_cil(struct policydb *pdb, struct ebitmap *map, int type) in ebitmap_to_cil() argument
736 char **val_to_name = pdb->sym_val_to_name[type]; in ebitmap_to_cil()
745 static char *get_new_attr_name(struct policydb *pdb, int is_type) in get_new_attr_name() argument
760 len = strlen(pdb->name) + strlen(infix) + num_digits(num_attrs) + 1; in get_new_attr_name()
767 rlen = snprintf(attr_name, len, "%s%s%i", pdb->name, infix, num_attrs); in get_new_attr_name()
807 static int cil_print_attr_strs(int indent, struct policydb *pdb, int is_type, void *set, char *attr… in cil_print_attr_strs() argument
829 val_to_name = pdb->p_type_val_to_name; in cil_print_attr_strs()
838 val_to_name = pdb->p_role_val_to_name; in cil_print_attr_strs()
894 static int cil_print_attr_list(int indent, struct policydb *pdb, struct list *attr_list) in cil_print_attr_list() argument
902 rc = cil_print_attr_strs(indent, pdb, node->is_type, node->set, node->attr_name); in cil_print_attr_list()
950 static int set_to_names(struct policydb *pdb, int is_type, void *set, struct list *attr_list, char … in set_to_names() argument
961 attr_name = get_new_attr_name(pdb, is_type); in set_to_names()
1031 static int process_roleset(struct policydb *pdb, struct role_set *rs, struct list *attr_list, char … in process_roleset() argument
1039 rc = set_to_names(pdb, 0, &rs->roles, attr_list, names, num_names); in process_roleset()
1044 rc = ebitmap_to_names(&rs->roles, pdb->p_role_val_to_name, names, num_names); in process_roleset()
1054 static int process_typeset(struct policydb *pdb, struct type_set *ts, struct list *attr_list, char … in process_typeset() argument
1062 rc = set_to_names(pdb, 1, ts, attr_list, names, num_names); in process_typeset()
1067 rc = ebitmap_to_names(&ts->types, pdb->p_type_val_to_name, names, num_names); in process_typeset()
1084 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
1101 if (!is_id_in_ancestor_scope(pdb, decl_stack, role_node->role_name, SYM_ROLES)) { in roletype_role_in_ancestor_to_cil()
1106 rc = process_typeset(pdb, ts, attr_list, &tnames, &num_tnames); in roletype_role_in_ancestor_to_cil()
1118 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()
1390 static int cond_list_to_cil(int indent, struct policydb *pdb, struct cond_node *cond_list, struct l… in cond_list_to_cil() argument
1397 rc = cond_expr_to_cil(indent, pdb, cond->expr, cond->flags); in cond_list_to_cil()
1404 rc = avrule_list_to_cil(indent + 2, pdb, cond->avtrue_list, attr_list); in cond_list_to_cil()
1413 rc = avrule_list_to_cil(indent + 2, pdb, cond->avfalse_list, attr_list); in cond_list_to_cil()
1427 static int role_trans_to_cil(int indent, struct policydb *pdb, struct role_trans_rule *rules, struc… in role_trans_to_cil() argument
1444 rc = process_roleset(pdb, rs, role_attr_list, &role_names, &num_role_names); in role_trans_to_cil()
1450 rc = process_typeset(pdb, ts, type_attr_list, &type_names, &num_type_names); in role_trans_to_cil()
1460 pdb->p_class_val_to_name[i], in role_trans_to_cil()
1461 pdb->p_role_val_to_name[rule->new_role - 1]); in role_trans_to_cil()
1477 static int role_allows_to_cil(int indent, struct policydb *pdb, struct role_allow_rule *rules, stru… in role_allows_to_cil() argument
1490 rc = process_roleset(pdb, rs, attr_list, &roles, &num_roles); in role_allows_to_cil()
1496 rc = process_roleset(pdb, rs, attr_list, &new_roles, &num_new_roles); in role_allows_to_cil()
1520 static int range_trans_to_cil(int indent, struct policydb *pdb, struct range_trans_rule *rules, str… in range_trans_to_cil() argument
1534 if (!pdb->mls) { in range_trans_to_cil()
1540 rc = process_typeset(pdb, ts, attr_list, &stypes, &num_stypes); in range_trans_to_cil()
1546 rc = process_typeset(pdb, ts, attr_list, &ttypes, &num_ttypes); in range_trans_to_cil()
1555 …cil_printf("(rangetransition %s %s %s ", stypes[stype], ttypes[ttype], pdb->p_class_val_to_name[i]… in range_trans_to_cil()
1559 rc = semantic_level_to_cil(pdb, 1, &rule->trange.level[0]); in range_trans_to_cil()
1566 rc = semantic_level_to_cil(pdb, 1, &rule->trange.level[1]); in range_trans_to_cil()
1590 static int filename_trans_to_cil(int indent, struct policydb *pdb, struct filename_trans_rule *rule… in filename_trans_to_cil() argument
1604 rc = process_typeset(pdb, ts, attr_list, &stypes, &num_stypes); in filename_trans_to_cil()
1610 rc = process_typeset(pdb, ts, attr_list, &ttypes, &num_ttypes); in filename_trans_to_cil()
1619 pdb->p_class_val_to_name[rule->tclass - 1], in filename_trans_to_cil()
1621 pdb->p_type_val_to_name[rule->otype - 1]); in filename_trans_to_cil()
1699 static int constraint_expr_to_string(struct policydb *pdb, struct constraint_expr *exprs, char **ex… in constraint_expr_to_string() argument
1778 rc = ebitmap_to_names(&ts->types, pdb->p_type_val_to_name, &name_list, &num_names); in constraint_expr_to_string()
1783 rc = ebitmap_to_names(&expr->names, pdb->p_user_val_to_name, &name_list, &num_names); in constraint_expr_to_string()
1788 rc = ebitmap_to_names(&expr->names, pdb->p_role_val_to_name, &name_list, &num_names); in constraint_expr_to_string()
1927 static int constraints_to_cil(int indent, struct policydb *pdb, char *classkey, struct class_datum … in constraints_to_cil() argument
1935 mls = pdb->mls ? "mls" : ""; in constraints_to_cil()
1939 rc = constraint_expr_to_string(pdb, node->expr, &expr); in constraints_to_cil()
1945 perms = sepol_av_to_string(pdb, class->s.value, node->permissions); in constraints_to_cil()
1962 static int class_to_cil(int indent, struct policydb *pdb, struct avrule_block *UNUSED(block), struc… in class_to_cil() argument
2052 rc = constraints_to_cil(indent, pdb, key, class, class->constraints, 1); in class_to_cil()
2059 rc = constraints_to_cil(indent, pdb, key, class, class->validatetrans, 0); in class_to_cil()
2072 static int class_order_to_cil(int indent, struct policydb *pdb, struct ebitmap order) in class_order_to_cil() argument
2085 cil_printf("%s ", pdb->sym_val_to_name[SYM_CLASSES][i]); in class_order_to_cil()
2093 static int role_to_cil(int indent, struct policydb *pdb, struct avrule_block *UNUSED(block), struct… in role_to_cil() argument
2151 if ((is_base_role && pdb->policy_type == SEPOL_POLICY_BASE) || in role_to_cil()
2162 rc = process_typeset(pdb, ts, attr_list, &types, &num_types); in role_to_cil()
2168 if (is_id_in_scope(pdb, decl_stack, types[j], SYM_TYPES)) { in role_to_cil()
2174 cil_println(indent, "(rolebounds %s %s)", key, pdb->p_role_val_to_name[role->bounds - 1]); in role_to_cil()
2187 cil_printf("%s ", pdb->p_role_val_to_name[i]); in role_to_cil()
2193 rc = process_typeset(pdb, ts, attr_list, &types, &num_types); in role_to_cil()
2200 if (is_id_in_scope(pdb, decl_stack, types[j], SYM_TYPES)) { in role_to_cil()
2213 rc = cil_print_attr_list(indent, pdb, attr_list); in role_to_cil()
2225 static int type_to_cil(int indent, struct policydb *pdb, struct avrule_block *UNUSED(block), struct… in type_to_cil() argument
2239 rc = roletype_role_in_ancestor_to_cil(pdb, decl_stack, key, indent); in type_to_cil()
2258 cil_println(indent, "(typebounds %s %s)", pdb->p_type_val_to_name[type->bounds - 1], key); in type_to_cil()
2280 ebitmap_to_cil(pdb, &type->types, SYM_TYPES); in type_to_cil()
2298 static int user_to_cil(int indent, struct policydb *pdb, struct avrule_block *block, struct stack *… in user_to_cil() argument
2316 cil_println(indent, "(userrole %s %s)", key, pdb->p_role_val_to_name[i]); in user_to_cil()
2327 if (pdb->mls) { in user_to_cil()
2328 semantic_level_to_cil(pdb, sens_offset, &level); in user_to_cil()
2336 if (pdb->mls) { in user_to_cil()
2337 semantic_level_to_cil(pdb, sens_offset, &range.level[0]); in user_to_cil()
2339 semantic_level_to_cil(pdb, sens_offset, &range.level[1]); in user_to_cil()
2349 static int boolean_to_cil(int indent, struct policydb *UNUSED(pdb), struct avrule_block *UNUSED(blo… in boolean_to_cil() argument
2367 static int sens_to_cil(int indent, struct policydb *pdb, struct avrule_block *UNUSED(block), struct… in sens_to_cil() argument
2376 …cil_println(indent, "(sensitivityaliasactual %s %s)", key, pdb->p_sens_val_to_name[level->level->s… in sens_to_cil()
2383 ebitmap_to_cil(pdb, &level->level->cat, SYM_CATS); in sens_to_cil()
2390 static int sens_order_to_cil(int indent, struct policydb *pdb, struct ebitmap order) in sens_order_to_cil() argument
2403 cil_printf("%s ", pdb->p_sens_val_to_name[i]); in sens_order_to_cil()
2411 static int cat_to_cil(int indent, struct policydb *pdb, struct avrule_block *UNUSED(block), struct … in cat_to_cil() argument
2423 cil_println(indent, "(categoryaliasactual %s %s)", key, pdb->p_cat_val_to_name[cat->s.value - 1]); in cat_to_cil()
2429 static int cat_order_to_cil(int indent, struct policydb *pdb, struct ebitmap order) in cat_order_to_cil() argument
2444 cil_printf("%s ", pdb->p_cat_val_to_name[i]); in cat_order_to_cil()
2454 static int polcaps_to_cil(struct policydb *pdb) in polcaps_to_cil() argument
2462 map = &pdb->policycaps; in polcaps_to_cil()
2480 static int level_to_cil(struct policydb *pdb, struct mls_level *level) in level_to_cil() argument
2484 cil_printf("(%s", pdb->p_sens_val_to_name[level->sens - 1]); in level_to_cil()
2488 ebitmap_to_cil(pdb, map, SYM_CATS); in level_to_cil()
2497 static int context_to_cil(struct policydb *pdb, struct context_struct *con) in context_to_cil() argument
2500 pdb->p_user_val_to_name[con->user - 1], in context_to_cil()
2501 pdb->p_role_val_to_name[con->role - 1], in context_to_cil()
2502 pdb->p_type_val_to_name[con->type - 1]); in context_to_cil()
2504 if (pdb->mls) { in context_to_cil()
2505 level_to_cil(pdb, &con->range.level[0]); in context_to_cil()
2507 level_to_cil(pdb, &con->range.level[1]); in context_to_cil()
2519 static int ocontext_isid_to_cil(struct policydb *pdb, const char *const *sid_to_string, in ocontext_isid_to_cil() argument
2547 context_to_cil(pdb, &isid->context[0]); in ocontext_isid_to_cil()
2583 static int ocontext_selinux_isid_to_cil(struct policydb *pdb, struct ocontext *isids) in ocontext_selinux_isid_to_cil() argument
2587 rc = ocontext_isid_to_cil(pdb, selinux_sid_to_str, SELINUX_SID_SZ, isids); in ocontext_selinux_isid_to_cil()
2598 static int ocontext_selinux_fs_to_cil(struct policydb *UNUSED(pdb), struct ocontext *fss) in ocontext_selinux_fs_to_cil() argument
2607 static int ocontext_selinux_port_to_cil(struct policydb *pdb, struct ocontext *portcons) in ocontext_selinux_port_to_cil() argument
2637 context_to_cil(pdb, &portcon->context[0]); in ocontext_selinux_port_to_cil()
2647 static int ocontext_selinux_ibpkey_to_cil(struct policydb *pdb, in ocontext_selinux_ibpkey_to_cil() argument
2676 context_to_cil(pdb, &ibpkeycon->context[0]); in ocontext_selinux_ibpkey_to_cil()
2685 static int ocontext_selinux_netif_to_cil(struct policydb *pdb, struct ocontext *netifs) in ocontext_selinux_netif_to_cil() argument
2691 context_to_cil(pdb, &netif->context[0]); in ocontext_selinux_netif_to_cil()
2694 context_to_cil(pdb, &netif->context[1]); in ocontext_selinux_netif_to_cil()
2701 static int ocontext_selinux_node_to_cil(struct policydb *pdb, struct ocontext *nodes) in ocontext_selinux_node_to_cil() argument
2723 context_to_cil(pdb, &node->context[0]); in ocontext_selinux_node_to_cil()
2733 static int ocontext_selinux_node6_to_cil(struct policydb *pdb, struct ocontext *nodes) in ocontext_selinux_node6_to_cil() argument
2755 context_to_cil(pdb, &node->context[0]); in ocontext_selinux_node6_to_cil()
2765 static int ocontext_selinux_ibendport_to_cil(struct policydb *pdb, struct ocontext *ibendports) in ocontext_selinux_ibendport_to_cil() argument
2771 context_to_cil(pdb, &ibendport->context[0]); in ocontext_selinux_ibendport_to_cil()
2779 static int ocontext_selinux_fsuse_to_cil(struct policydb *pdb, struct ocontext *fsuses) in ocontext_selinux_fsuse_to_cil() argument
2799 context_to_cil(pdb, &fsuse->context[0]); in ocontext_selinux_fsuse_to_cil()
2811 static int ocontext_xen_isid_to_cil(struct policydb *pdb, struct ocontext *isids) in ocontext_xen_isid_to_cil() argument
2815 rc = ocontext_isid_to_cil(pdb, xen_sid_to_str, XEN_SID_SZ, isids); in ocontext_xen_isid_to_cil()
2826 static int ocontext_xen_pirq_to_cil(struct policydb *pdb, struct ocontext *pirqs) in ocontext_xen_pirq_to_cil() argument
2832 context_to_cil(pdb, &pirq->context[0]); in ocontext_xen_pirq_to_cil()
2839 static int ocontext_xen_ioport_to_cil(struct policydb *pdb, struct ocontext *ioports) in ocontext_xen_ioport_to_cil() argument
2855 context_to_cil(pdb, &ioport->context[0]); in ocontext_xen_ioport_to_cil()
2863 static int ocontext_xen_iomem_to_cil(struct policydb *pdb, struct ocontext *iomems) in ocontext_xen_iomem_to_cil() argument
2879 context_to_cil(pdb, &iomem->context[0]); in ocontext_xen_iomem_to_cil()
2887 static int ocontext_xen_pcidevice_to_cil(struct policydb *pdb, struct ocontext *pcids) in ocontext_xen_pcidevice_to_cil() argument
2893 context_to_cil(pdb, &pcid->context[0]); in ocontext_xen_pcidevice_to_cil()
2900 static int ocontexts_to_cil(struct policydb *pdb) in ocontexts_to_cil() argument
2905 static int (**ocon_funcs)(struct policydb *pdb, struct ocontext *ocon); in ocontexts_to_cil()
2906 static int (*ocon_selinux_funcs[OCON_NUM])(struct policydb *pdb, struct ocontext *ocon) = { in ocontexts_to_cil()
2917 static int (*ocon_xen_funcs[OCON_NUM])(struct policydb *pdb, struct ocontext *ocon) = { in ocontexts_to_cil()
2927 switch (pdb->target_platform) { in ocontexts_to_cil()
2935 log_err("Unknown target platform: %i", pdb->target_platform); in ocontexts_to_cil()
2942 rc = ocon_funcs[ocon](pdb, pdb->ocontexts[ocon]); in ocontexts_to_cil()
2954 static int genfscon_to_cil(struct policydb *pdb) in genfscon_to_cil() argument
2960 for (genfs = pdb->genfs; genfs != NULL; genfs = genfs->next) { in genfscon_to_cil()
2965 const char *class_name = pdb->p_class_val_to_name[sclass-1]; in genfscon_to_cil()
2987 context_to_cil(pdb, &ocon->context[0]); in genfscon_to_cil()
3358 static int (*func_to_cil[SYM_NUM])(int indent, struct policydb *pdb, struct avrule_block *block, st…
3369 static int typealiases_to_cil(int indent, struct policydb *pdb, struct avrule_block *UNUSED(block),… in typealiases_to_cil() argument
3390 alias_datum = hashtab_search(pdb->p_types.table, alias_name); in typealiases_to_cil()
3396 type_name = pdb->p_type_val_to_name[alias_datum->primary - 1]; in typealiases_to_cil()
3398 type_name = pdb->p_type_val_to_name[alias_datum->s.value - 1]; in typealiases_to_cil()
3410 static int declared_scopes_to_cil(int indent, struct policydb *pdb, struct avrule_block *block, str… in declared_scopes_to_cil() argument
3429 key = pdb->sym_val_to_name[sym][i]; in declared_scopes_to_cil()
3430 datum = hashtab_search(pdb->symtab[sym].table, key); in declared_scopes_to_cil()
3435 scope = hashtab_search(pdb->scope[sym].table, key); in declared_scopes_to_cil()
3440 rc = func_to_cil[sym](indent, pdb, block, decl_stack, key, datum, scope->scope); in declared_scopes_to_cil()
3447 rc = cat_order_to_cil(indent, pdb, map); in declared_scopes_to_cil()
3454 rc = sens_order_to_cil(indent, pdb, map); in declared_scopes_to_cil()
3461 rc = class_order_to_cil(indent, pdb, map); in declared_scopes_to_cil()
3473 static int required_scopes_to_cil(int indent, struct policydb *pdb, struct avrule_block *block, str… in required_scopes_to_cil() argument
3493 key = pdb->sym_val_to_name[sym][i]; in required_scopes_to_cil()
3495 scope_datum = hashtab_search(pdb->scope[sym].table, key); in required_scopes_to_cil()
3516 datum = hashtab_search(pdb->symtab[sym].table, key); in required_scopes_to_cil()
3521 rc = func_to_cil[sym](indent, pdb, block, decl_stack, key, datum, SCOPE_REQ); in required_scopes_to_cil()
3539 …rc = func_to_cil[args->sym_index](args->indent, args->pdb, args->block, args->decl_stack, key, dat… in additive_scopes_to_cil_map()
3550 static int additive_scopes_to_cil(int indent, struct policydb *pdb, struct avrule_block *block, str… in additive_scopes_to_cil() argument
3555 args.pdb = pdb; in additive_scopes_to_cil()
3623 static int block_to_cil(struct policydb *pdb, struct avrule_block *block, struct stack *stack, int … in block_to_cil() argument
3641 rc = typealiases_to_cil(indent, pdb, block, stack); in block_to_cil()
3646 rc = declared_scopes_to_cil(indent, pdb, block, stack); in block_to_cil()
3651 rc = required_scopes_to_cil(indent, pdb, block, stack); in block_to_cil()
3656 rc = additive_scopes_to_cil(indent, pdb, block, stack); in block_to_cil()
3661 rc = avrule_list_to_cil(indent, pdb, decl->avrules, type_attr_list); in block_to_cil()
3666 rc = role_trans_to_cil(indent, pdb, decl->role_tr_rules, role_attr_list, type_attr_list); in block_to_cil()
3671 rc = role_allows_to_cil(indent, pdb, decl->role_allow_rules, role_attr_list); in block_to_cil()
3676 rc = range_trans_to_cil(indent, pdb, decl->range_tr_rules, type_attr_list); in block_to_cil()
3681 rc = filename_trans_to_cil(indent, pdb, decl->filename_trans_rules, type_attr_list); in block_to_cil()
3686 rc = cond_list_to_cil(indent, pdb, decl->cond_list, type_attr_list); in block_to_cil()
3691 rc = cil_print_attr_list(indent, pdb, type_attr_list); in block_to_cil()
3695 rc = cil_print_attr_list(indent, pdb, role_attr_list); in block_to_cil()
3707 static int module_block_to_cil(struct policydb *pdb, struct avrule_block *block, struct stack *stac… in module_block_to_cil() argument
3734 cil_println(*indent, "(optional %s_optional_%i", pdb->name, decl->decl_id); in module_block_to_cil()
3740 rc = block_to_cil(pdb, block, stack, *indent); in module_block_to_cil()
3749 static int global_block_to_cil(struct policydb *pdb, struct avrule_block *block, struct stack *stac… in global_block_to_cil() argument
3768 rc = hashtab_map(pdb->p_commons.table, common_to_cil, NULL); in global_block_to_cil()
3773 rc = block_to_cil(pdb, block, stack, 0); in global_block_to_cil()
3782 static int blocks_to_cil(struct policydb *pdb) in blocks_to_cil() argument
3794 block = pdb->global; in blocks_to_cil()
3795 rc = global_block_to_cil(pdb, block, stack); in blocks_to_cil()
3801 rc = module_block_to_cil(pdb, block, stack, &indent); in blocks_to_cil()
3818 static int linked_block_to_cil(struct policydb *pdb, struct avrule_block *block, struct stack *stac… in linked_block_to_cil() argument
3838 rc = block_to_cil(pdb, block, stack, 0); in linked_block_to_cil()
3849 static int linked_blocks_to_cil(struct policydb *pdb) in linked_blocks_to_cil() argument
3862 block = pdb->global; in linked_blocks_to_cil()
3863 rc = global_block_to_cil(pdb, block, stack); in linked_blocks_to_cil()
3869 rc = linked_block_to_cil(pdb, block, stack); in linked_blocks_to_cil()
3881 static int handle_unknown_to_cil(struct policydb *pdb) in handle_unknown_to_cil() argument
3886 switch (pdb->handle_unknown) { in handle_unknown_to_cil()
3897 log_err("Unknown value for handle-unknown: %i", pdb->handle_unknown); in handle_unknown_to_cil()
3910 static int generate_mls(struct policydb *pdb) in generate_mls() argument
3912 const char *mls_str = pdb->mls ? "true" : "false"; in generate_mls()
3953 static int fix_module_name(struct policydb *pdb) in fix_module_name() argument
3963 if (pdb->policy_type == POLICY_BASE) { in fix_module_name()
3964 pdb->name = strdup("base"); in fix_module_name()
3965 if (pdb->name == NULL) { in fix_module_name()
3974 for (letter = pdb->name; *letter != '\0'; letter++) { in fix_module_name()
3987 int sepol_module_policydb_to_cil(FILE *fp, struct policydb *pdb, int linked) in sepol_module_policydb_to_cil() argument
3993 if (pdb == NULL) { in sepol_module_policydb_to_cil()
3998 if (pdb->policy_type != SEPOL_POLICY_BASE && in sepol_module_policydb_to_cil()
3999 pdb->policy_type != SEPOL_POLICY_MOD) { in sepol_module_policydb_to_cil()
4005 rc = fix_module_name(pdb); in sepol_module_policydb_to_cil()
4010 if (pdb->policy_type == SEPOL_POLICY_BASE && !pdb->mls) { in sepol_module_policydb_to_cil()
4021 if (pdb->policy_type == SEPOL_POLICY_BASE) { in sepol_module_policydb_to_cil()
4041 rc = handle_unknown_to_cil(pdb); in sepol_module_policydb_to_cil()
4047 rc = generate_mls(pdb); in sepol_module_policydb_to_cil()
4053 rc = role_list_create(pdb->p_roles.table); in sepol_module_policydb_to_cil()
4058 rc = typealias_list_create(pdb); in sepol_module_policydb_to_cil()
4063 rc = polcaps_to_cil(pdb); in sepol_module_policydb_to_cil()
4068 rc = ocontexts_to_cil(pdb); in sepol_module_policydb_to_cil()
4073 rc = genfscon_to_cil(pdb); in sepol_module_policydb_to_cil()
4080 rc = linked_blocks_to_cil(pdb); in sepol_module_policydb_to_cil()
4082 rc = blocks_to_cil(pdb); in sepol_module_policydb_to_cil()
4100 struct sepol_policydb *pdb; in sepol_module_package_to_cil() local
4104 pdb = sepol_module_package_get_policy(mod_pkg); in sepol_module_package_to_cil()
4105 if (pdb == NULL) { in sepol_module_package_to_cil()
4111 rc = sepol_module_policydb_to_cil(fp, &pdb->p, 0); in sepol_module_package_to_cil()