Lines Matching refs:role

179 	struct role_datum *role;  in roles_init()  local
182 role = kzalloc(sizeof(*role), GFP_KERNEL); in roles_init()
183 if (!role) in roles_init()
187 role->value = ++p->p_roles.nprim; in roles_init()
188 if (role->value != OBJECT_R_VAL) in roles_init()
196 rc = hashtab_insert(p->p_roles.table, key, role); in roles_init()
203 kfree(role); in roles_init()
370 struct role_datum *role; in role_index() local
373 role = datum; in role_index()
375 if (!role->value in role_index()
376 || role->value > p->p_roles.nprim in role_index()
377 || role->bounds > p->p_roles.nprim) in role_index()
381 if (flex_array_put_ptr(fa, role->value - 1, key, in role_index()
384 p->role_val_to_struct[role->value - 1] = role; in role_index()
687 struct role_datum *role; in role_destroy() local
691 role = datum; in role_destroy()
692 ebitmap_destroy(&role->dominates); in role_destroy()
693 ebitmap_destroy(&role->types); in role_destroy()
930 int policydb_role_isvalid(struct policydb *p, unsigned int role) in policydb_role_isvalid() argument
932 if (!role || role > p->p_roles.nprim) in policydb_role_isvalid()
950 struct role_datum *role; in policydb_context_isvalid() local
953 if (!c->role || c->role > p->p_roles.nprim) in policydb_context_isvalid()
962 if (c->role != OBJECT_R_VAL) { in policydb_context_isvalid()
966 role = p->role_val_to_struct[c->role - 1]; in policydb_context_isvalid()
967 if (!ebitmap_get_bit(&role->types, c->type - 1)) in policydb_context_isvalid()
978 if (!ebitmap_get_bit(&usrdatum->roles, c->role - 1)) in policydb_context_isvalid()
1065 c->role = le32_to_cpu(buf[1]); in context_read_and_validate()
1409 struct role_datum *role; in role_read() local
1415 role = kzalloc(sizeof(*role), GFP_KERNEL); in role_read()
1416 if (!role) in role_read()
1427 role->value = le32_to_cpu(buf[1]); in role_read()
1429 role->bounds = le32_to_cpu(buf[2]); in role_read()
1435 rc = ebitmap_read(&role->dominates, fp); in role_read()
1439 rc = ebitmap_read(&role->types, fp); in role_read()
1445 if (role->value != OBJECT_R_VAL) { in role_read()
1447 OBJECT_R, role->value); in role_read()
1454 rc = hashtab_insert(h, key, role); in role_read()
1459 role_destroy(key, role, NULL); in role_read()
1716 struct role_datum *upper, *role; in role_bounds_sanity_check() local
1720 upper = role = datum; in role_bounds_sanity_check()
1733 ebitmap_for_each_positive_bit(&role->types, node, bit) { in role_bounds_sanity_check()
1740 sym_name(p, SYM_ROLES, role->value - 1), in role_bounds_sanity_check()
2406 tr->role = le32_to_cpu(buf[0]); in policydb_read()
2417 if (!policydb_role_isvalid(p, tr->role) || in policydb_read()
2444 ra->role = le32_to_cpu(buf[0]); in policydb_read()
2446 if (!policydb_role_isvalid(p, ra->role) || in policydb_read()
2648 buf[0] = cpu_to_le32(tr->role); in role_trans_write()
2680 buf[0] = cpu_to_le32(ra->role); in role_allow_write()
2700 buf[1] = cpu_to_le32(c->role); in context_write()
2928 struct role_datum *role = datum; in role_write() local
2939 buf[items++] = cpu_to_le32(role->value); in role_write()
2941 buf[items++] = cpu_to_le32(role->bounds); in role_write()
2953 rc = ebitmap_write(&role->dominates, fp); in role_write()
2957 rc = ebitmap_write(&role->types, fp); in role_write()