Lines Matching refs:role
174 struct role_datum *role; in roles_init() local
177 role = kzalloc(sizeof(*role), GFP_KERNEL); in roles_init()
178 if (!role) in roles_init()
182 role->value = ++p->p_roles.nprim; in roles_init()
183 if (role->value != OBJECT_R_VAL) in roles_init()
191 rc = hashtab_insert(p->p_roles.table, key, role); in roles_init()
198 kfree(role); in roles_init()
365 struct role_datum *role; in role_index() local
368 role = datum; in role_index()
370 if (!role->value in role_index()
371 || role->value > p->p_roles.nprim in role_index()
372 || role->bounds > p->p_roles.nprim) in role_index()
376 if (flex_array_put_ptr(fa, role->value - 1, key, in role_index()
379 p->role_val_to_struct[role->value - 1] = role; in role_index()
682 struct role_datum *role; in role_destroy() local
686 role = datum; in role_destroy()
687 ebitmap_destroy(&role->dominates); in role_destroy()
688 ebitmap_destroy(&role->types); in role_destroy()
925 int policydb_role_isvalid(struct policydb *p, unsigned int role) in policydb_role_isvalid() argument
927 if (!role || role > p->p_roles.nprim) in policydb_role_isvalid()
945 struct role_datum *role; in policydb_context_isvalid() local
948 if (!c->role || c->role > p->p_roles.nprim) in policydb_context_isvalid()
957 if (c->role != OBJECT_R_VAL) { in policydb_context_isvalid()
961 role = p->role_val_to_struct[c->role - 1]; in policydb_context_isvalid()
962 if (!ebitmap_get_bit(&role->types, c->type - 1)) in policydb_context_isvalid()
973 if (!ebitmap_get_bit(&usrdatum->roles, c->role - 1)) in policydb_context_isvalid()
1060 c->role = le32_to_cpu(buf[1]); in context_read_and_validate()
1404 struct role_datum *role; in role_read() local
1410 role = kzalloc(sizeof(*role), GFP_KERNEL); in role_read()
1411 if (!role) in role_read()
1422 role->value = le32_to_cpu(buf[1]); in role_read()
1424 role->bounds = le32_to_cpu(buf[2]); in role_read()
1430 rc = ebitmap_read(&role->dominates, fp); in role_read()
1434 rc = ebitmap_read(&role->types, fp); in role_read()
1440 if (role->value != OBJECT_R_VAL) { in role_read()
1442 OBJECT_R, role->value); in role_read()
1449 rc = hashtab_insert(h, key, role); in role_read()
1454 role_destroy(key, role, NULL); in role_read()
1711 struct role_datum *upper, *role; in role_bounds_sanity_check() local
1715 upper = role = datum; in role_bounds_sanity_check()
1728 ebitmap_for_each_positive_bit(&role->types, node, bit) { in role_bounds_sanity_check()
1735 sym_name(p, SYM_ROLES, role->value - 1), in role_bounds_sanity_check()
2401 tr->role = le32_to_cpu(buf[0]); in policydb_read()
2412 if (!policydb_role_isvalid(p, tr->role) || in policydb_read()
2439 ra->role = le32_to_cpu(buf[0]); in policydb_read()
2441 if (!policydb_role_isvalid(p, ra->role) || in policydb_read()
2643 buf[0] = cpu_to_le32(tr->role); in role_trans_write()
2675 buf[0] = cpu_to_le32(ra->role); in role_allow_write()
2695 buf[1] = cpu_to_le32(c->role); in context_write()
2923 struct role_datum *role = datum; in role_write() local
2934 buf[items++] = cpu_to_le32(role->value); in role_write()
2936 buf[items++] = cpu_to_le32(role->bounds); in role_write()
2948 rc = ebitmap_write(&role->dominates, fp); in role_write()
2952 rc = ebitmap_write(&role->types, fp); in role_write()