Lines Matching refs:fp
49 struct policy_file *fp;
53 static int avrule_write_list(avrule_t * avrules, struct policy_file *fp);
55 static int ebitmap_write(ebitmap_t * e, struct policy_file *fp)
70 items = put_entry(buf, sizeof(uint32_t), 3, fp);
76 items = put_entry(&bit, sizeof(uint32_t), 1, fp);
80 items = put_entry(&map, sizeof(uint64_t), 1, fp);
100 avtab_ptr_t cur, struct policy_file *fp,
153 ERR(fp->handle, "null entry");
157 ERR(fp->handle, "entry has both access "
183 ERR(fp->handle, "missing node");
199 ERR(fp->handle, "data count wrong");
207 items2 = put_entry(buf32, sizeof(uint32_t), items, fp);
220 items = put_entry(buf16, sizeof(uint16_t), 4, fp);
224 items = put_entry(buf32, sizeof(uint32_t), 1, fp);
240 static int avtab_write(struct policydb *p, avtab_t * a, struct policy_file *fp)
268 items = put_entry(&nel, sizeof(uint32_t), 1, fp);
277 if (avtab_write_item(p, cur, fp, 1, !oldvers, &nel)) {
288 items = put_entry(&nel, sizeof(uint32_t), 1, fp);
296 if (avtab_write_item(p, cur, fp, 1, 1, NULL)) {
316 struct policy_file *fp)
327 items = put_entry(buf, sizeof(uint32_t), 2, fp);
334 items = put_entry(buf, sizeof(uint32_t), 2, fp);
347 struct policy_file *fp)
351 rc = mls_write_semantic_level_helper(&r->level[0], fp);
355 rc = mls_write_semantic_level_helper(&r->level[1], fp);
364 static int mls_write_level(mls_level_t * l, struct policy_file *fp)
370 items = put_entry(&sens, sizeof(uint32_t), 1, fp);
374 if (ebitmap_write(&l->cat, fp))
384 static int mls_write_range_helper(mls_range_t * r, struct policy_file *fp)
398 items2 = put_entry(buf, sizeof(uint32_t), items, fp);
402 if (ebitmap_write(&r->level[0].cat, fp))
405 if (ebitmap_write(&r->level[1].cat, fp))
417 struct policy_file *fp = pd->fp;
425 items2 = put_entry(buf, sizeof(uint32_t), items, fp);
429 items = put_entry(key, 1, len, fp);
433 if (mls_write_level(levdatum->level, fp))
445 struct policy_file *fp = pd->fp;
454 items2 = put_entry(buf, sizeof(uint32_t), items, fp);
458 items = put_entry(key, 1, len, fp);
465 static int role_trans_write(policydb_t *p, struct policy_file *fp)
481 items = put_entry(buf, sizeof(uint32_t), 1, fp);
487 WARN(fp->handle, "Discarding role_transition "
496 items = put_entry(buf, sizeof(uint32_t), 3, fp);
501 items = put_entry(buf, sizeof(uint32_t), 1, fp);
510 static int role_allow_write(role_allow_t * r, struct policy_file *fp)
520 items = put_entry(buf, sizeof(uint32_t), 1, fp);
526 items = put_entry(buf, sizeof(uint32_t), 2, fp);
533 static int filename_trans_write(filename_trans_t * r, struct policy_file *fp)
543 items = put_entry(buf, sizeof(uint32_t), 1, fp);
549 items = put_entry(buf, sizeof(uint32_t), 1, fp);
553 items = put_entry(ft->name, sizeof(char), len, fp);
561 items = put_entry(buf, sizeof(uint32_t), 4, fp);
569 static int role_set_write(role_set_t * x, struct policy_file *fp)
574 if (ebitmap_write(&x->roles, fp))
578 items = put_entry(buf, sizeof(uint32_t), 1, fp);
585 static int type_set_write(type_set_t * x, struct policy_file *fp)
590 if (ebitmap_write(&x->types, fp))
592 if (ebitmap_write(&x->negset, fp))
596 items = put_entry(buf, sizeof(uint32_t), 1, fp);
609 struct policy_file *fp = pd->fp;
619 items2 = put_entry(buf, sizeof(uint32_t), items, fp);
622 items = put_entry(key, 1, len, fp);
629 items = put_entry(buf, sizeof(uint32_t), 1, fp);
647 cond_av_list_t * list, struct policy_file *fp)
672 items = put_entry(buf, sizeof(uint32_t), 1, fp);
683 if (avtab_write_item(p, cur_list->node, fp, 0, 1, NULL))
698 cond_node_t * node, struct policy_file *fp)
705 items = put_entry(buf, sizeof(uint32_t), 1, fp);
715 items = put_entry(buf, sizeof(uint32_t), 1, fp);
723 items2 = put_entry(buf, sizeof(uint32_t), items, fp);
729 if (cond_write_av_list(p, node->true_list, fp) != 0)
731 if (cond_write_av_list(p, node->false_list, fp) != 0)
734 if (avrule_write_list(node->avtrue_list, fp))
736 if (avrule_write_list(node->avfalse_list, fp))
743 items = put_entry(buf, sizeof(uint32_t), 1, fp);
752 struct policy_file *fp)
762 items = put_entry(buf, sizeof(uint32_t), 1, fp);
767 if (cond_write_node(p, cur, fp) != 0)
778 struct policy_file *fp)
787 items2 = put_entry(buf, sizeof(uint32_t), items, fp);
794 if (mls_write_range_helper(&c->range, fp))
812 struct policy_file *fp = pd->fp;
820 items2 = put_entry(buf, sizeof(uint32_t), items, fp);
824 items = put_entry(key, 1, len, fp);
837 struct policy_file *fp = pd->fp;
847 items2 = put_entry(buf, sizeof(uint32_t), items, fp);
851 items = put_entry(key, 1, len, fp);
863 struct policy_file *fp)
877 items = put_entry(buf, sizeof(uint32_t), 2, fp);
885 items = put_entry(buf, sizeof(uint32_t), 3, fp);
893 if (ebitmap_write(&e->names, fp)) {
897 type_set_write(e->type_names, fp)) ||
900 type_set_write(e->type_names, fp))) {
920 struct policy_file *fp = pd->fp;
946 items2 = put_entry(buf, sizeof(uint32_t), items, fp);
950 items = put_entry(key, 1, len, fp);
955 items = put_entry(cladatum->comkey, 1, len2, fp);
962 if (write_cons_helper(p, cladatum->constraints, 0, fp))
975 items = put_entry(buf, sizeof(uint32_t), 1, fp);
978 if (write_cons_helper(p, cladatum->validatetrans, 1, fp))
989 items = put_entry(buf, sizeof(uint32_t), 3, fp);
999 items = put_entry(buf, sizeof(uint32_t), 1, fp);
1013 struct policy_file *fp = pd->fp;
1037 items2 = put_entry(buf, sizeof(uint32_t), items, fp);
1041 items = put_entry(key, 1, len, fp);
1045 if (ebitmap_write(&role->dominates, fp))
1048 if (ebitmap_write(&role->types.types, fp))
1051 if (type_set_write(&role->types, fp))
1058 items = put_entry(buf, sizeof(uint32_t), 1, fp);
1062 if (ebitmap_write(&role->roles, fp))
1075 struct policy_file *fp = pd->fp;
1125 WARN(fp->handle, "Warning! Module policy "
1131 items2 = put_entry(buf, sizeof(uint32_t), items, fp);
1136 if (ebitmap_write(&typdatum->types, fp))
1140 items = put_entry(key, 1, len, fp);
1153 struct policy_file *fp = pd->fp;
1164 items2 = put_entry(buf, sizeof(uint32_t), items, fp);
1168 items = put_entry(key, 1, len, fp);
1173 if (ebitmap_write(&usrdatum->roles.roles, fp))
1176 if (role_set_write(&usrdatum->roles, fp))
1188 if (mls_write_range_helper(&usrdatum->exp_range, fp))
1190 if (mls_write_level(&usrdatum->exp_dfltlevel, fp))
1196 if (mls_write_semantic_range_helper(&usrdatum->range, fp))
1198 if (mls_write_semantic_level_helper(&usrdatum->dfltlevel, fp))
1211 struct policy_file *fp)
1222 items = put_entry(buf, sizeof(uint32_t), 1, fp);
1229 items = put_entry(buf, sizeof(uint32_t), 1, fp);
1232 if (context_write(p, &c->context[0], fp))
1237 items = put_entry(buf, sizeof(uint32_t), 1, fp);
1240 if (context_write(p, &c->context[0], fp))
1248 items = put_entry(buf, sizeof(uint32_t), 2, fp);
1251 if (context_write(p, &c->context[0], fp))
1259 items = put_entry(buf, sizeof(uint32_t), 2, fp);
1262 if (context_write(p, &c->context[0], fp))
1267 items = put_entry(buf, sizeof(uint32_t), 1, fp);
1270 if (context_write(p, &c->context[0], fp))
1280 policydb_t *p, struct policy_file *fp)
1291 items = put_entry(buf, sizeof(uint32_t), 1, fp);
1298 items = put_entry(buf, sizeof(uint32_t), 1, fp);
1301 if (context_write(p, &c->context[0], fp))
1308 items = put_entry(buf, sizeof(uint32_t), 1, fp);
1311 items = put_entry(c->u.name, 1, len, fp);
1314 if (context_write(p, &c->context[0], fp))
1316 if (context_write(p, &c->context[1], fp))
1326 items = put_entry(buf, sizeof(uint32_t), 3, fp);
1329 if (context_write(p, &c->context[0], fp))
1335 items = put_entry(buf, sizeof(uint32_t), 2, fp);
1338 if (context_write(p, &c->context[0], fp))
1345 items = put_entry(buf, sizeof(uint32_t), 2, fp);
1348 items = put_entry(c->u.name, 1, len, fp);
1351 if (context_write(p, &c->context[0], fp))
1359 items = put_entry(buf, sizeof(uint32_t), 8, fp);
1362 if (context_write(p, &c->context[0], fp))
1372 struct policy_file *fp)
1377 rc = ocontext_write_selinux(info, p, fp);
1380 rc = ocontext_write_xen(info, p, fp);
1386 static int genfs_write(policydb_t * p, struct policy_file *fp)
1396 items = put_entry(buf, sizeof(uint32_t), 1, fp);
1402 items = put_entry(buf, sizeof(uint32_t), 1, fp);
1405 items = put_entry(genfs->fstype, 1, len, fp);
1412 items = put_entry(buf, sizeof(uint32_t), 1, fp);
1418 items = put_entry(buf, sizeof(uint32_t), 1, fp);
1421 items = put_entry(c->u.name, 1, len, fp);
1425 items = put_entry(buf, sizeof(uint32_t), 1, fp);
1428 if (context_write(p, &c->context[0], fp))
1435 static int range_write(policydb_t * p, struct policy_file *fp)
1453 items = put_entry(buf, sizeof(uint32_t), 1, fp);
1459 WARN(fp->handle, "Discarding range_transition "
1467 items = put_entry(buf, sizeof(uint32_t), 2, fp);
1472 items = put_entry(buf, sizeof(uint32_t), 1, fp);
1476 if (mls_write_range_helper(&rt->target_range, fp))
1484 static int avrule_write(avrule_t * avrule, struct policy_file *fp)
1493 items2 = put_entry(buf, sizeof(uint32_t), items, fp);
1497 if (type_set_write(&avrule->stypes, fp))
1500 if (type_set_write(&avrule->ttypes, fp))
1511 items2 = put_entry(buf, sizeof(uint32_t), items, fp);
1519 items2 = put_entry(buf, sizeof(uint32_t), items, fp);
1529 static int avrule_write_list(avrule_t * avrules, struct policy_file *fp)
1542 if (put_entry(buf, sizeof(uint32_t), 1, fp) != 1)
1547 avrule_write(avrule, fp);
1568 struct policy_file *fp)
1582 items = put_entry(buf, sizeof(uint32_t), 1, fp);
1588 WARN(fp->handle, "Discarding role_transition "
1594 if (role_set_write(&tr->roles, fp))
1596 if (type_set_write(&tr->types, fp))
1599 if (ebitmap_write(&tr->classes, fp))
1602 items = put_entry(buf, sizeof(uint32_t), 1, fp);
1609 static int role_allow_rule_write(role_allow_rule_t * r, struct policy_file *fp)
1619 items = put_entry(buf, sizeof(uint32_t), 1, fp);
1623 if (role_set_write(&ra->roles, fp))
1625 if (role_set_write(&ra->new_roles, fp))
1631 static int filename_trans_rule_write(filename_trans_rule_t * t, struct policy_file *fp)
1642 items = put_entry(buf, sizeof(uint32_t), 1, fp);
1649 items = put_entry(buf, sizeof(uint32_t), 1, fp);
1653 items = put_entry(ftr->name, sizeof(char), len, fp);
1657 if (type_set_write(&ftr->stypes, fp))
1659 if (type_set_write(&ftr->ttypes, fp))
1665 items = put_entry(buf, sizeof(uint32_t), 2, fp);
1673 struct policy_file *fp)
1683 items = put_entry(buf, sizeof(uint32_t), 1, fp);
1687 if (type_set_write(&rt->stypes, fp))
1689 if (type_set_write(&rt->ttypes, fp))
1691 if (ebitmap_write(&rt->tclasses, fp))
1693 if (mls_write_semantic_range_helper(&rt->trange, fp))
1701 struct policy_file *fp)
1706 if (ebitmap_write(scope_index->scope + i, fp) == -1) {
1711 if (put_entry(buf, sizeof(uint32_t), 1, fp) != 1) {
1715 if (ebitmap_write(scope_index->class_perms_map + i, fp) == -1) {
1723 policydb_t * p, struct policy_file *fp)
1730 if (put_entry(buf, sizeof(uint32_t), 2, fp) != 2) {
1733 if (cond_write_list(p, decl->cond_list, fp) == -1 ||
1734 avrule_write_list(decl->avrules, fp) == -1 ||
1735 role_trans_rule_write(p, decl->role_tr_rules, fp) == -1 ||
1736 role_allow_rule_write(decl->role_allow_rules, fp) == -1) {
1741 filename_trans_rule_write(decl->filename_trans_rules, fp))
1745 range_trans_rule_write(decl->range_tr_rules, fp) == -1) {
1748 if (scope_index_write(&decl->required, num_scope_syms, fp) == -1 ||
1749 scope_index_write(&decl->declared, num_scope_syms, fp) == -1) {
1752 pd.fp = fp;
1757 if (put_entry(buf, sizeof(uint32_t), 2, fp) != 2) {
1768 policydb_t * p, struct policy_file *fp)
1777 if (put_entry(buf, sizeof(uint32_t), 1, fp) != 1) {
1790 if (put_entry(buf, sizeof(uint32_t), 1, fp) != 1) {
1794 if (avrule_decl_write(decl, num_scope_syms, p, fp) ==
1807 struct policy_file *fp = pd->fp;
1827 if (put_entry(buf, sizeof(*buf), 1, fp) != 1 ||
1828 put_entry(key, 1, key_len, fp) != key_len)
1837 if (put_entry(buf, sizeof(*buf), items, fp) != items)
1876 int policydb_write(policydb_t * p, struct policy_file *fp)
1888 pd.fp = fp;
1899 ERR(fp->handle, "policy version %d cannot support MLS",
1920 items2 = put_entry(buf, sizeof(uint32_t), items, fp);
1923 items = put_entry(policydb_str, 1, len, fp);
1932 ERR(fp->handle, "compatibility lookup failed for policy "
1945 items2 = put_entry(buf, sizeof(uint32_t), items, fp);
1953 items = put_entry(buf, sizeof(uint32_t), 1, fp);
1956 items = put_entry(p->name, 1, len, fp);
1961 items = put_entry(buf, sizeof(uint32_t), 1, fp);
1964 items = put_entry(p->version, 1, len, fp);
1975 if (ebitmap_write(&p->policycaps, fp) == -1)
1985 WARN(fp->handle, "Warning! Policy version %d cannot "
1995 if (ebitmap_write(&p->permissive_map, fp) == -1)
2029 items = put_entry(buf, sizeof(uint32_t), 2, fp);
2037 if (avtab_write(p, &p->te_avtab, fp))
2041 WARN(fp->handle, "Discarding "
2044 if (cond_write_list(p, p->cond_list, fp))
2047 if (role_trans_write(p, fp))
2049 if (role_allow_write(p->role_allow, fp))
2052 if (filename_trans_write(p->filename_trans, fp))
2056 WARN(fp->handle, "Discarding filename type transition rules");
2059 if (avrule_block_write(p->global, num_syms, p, fp) == -1) {
2065 if (put_entry(buf, sizeof(uint32_t), 1, fp) != 1) {
2073 if (ocontext_write(info, p, fp) == -1 || genfs_write(p, fp) == -1) {
2082 if (range_write(p, fp)) {
2090 if (ebitmap_write(&p->type_attr_map[i], fp) == -1)