Lines Matching refs:level
27 * Implementation of the multi-level security (MLS) policy.
124 p_sens_val_to_name[context->range.level[l].sens -
127 ebitmap_for_each_bit(&context->range.level[l].cat, cnode, i) {
151 if (mls_level_eq(&context->range.level[0],
152 &context->range.level[1]))
187 policydb->p_sens_val_to_name[context->range.level[l].
191 p_sens_val_to_name[context->range.level[l].sens -
194 ebitmap_for_each_bit(&context->range.level[l].cat, cnode, i) {
240 if (mls_level_eq(&context->range.level[0],
241 &context->range.level[1]))
271 * MLS range validity checks: high must dominate low, low level must
272 * be valid (category set <-> sensitivity check), and high level must
275 if (!mls_level_dom(&c->range.level[1], &c->range.level[0]))
280 if (!c->range.level[l].sens
281 || c->range.level[l].sens > p->p_levels.nprim)
284 key = p->p_sens_val_to_name[c->range.level[l].sens - 1];
292 ebitmap_for_each_positive_bit(&c->range.level[l].cat, cnode, i) {
295 if (!ebitmap_get_bit(&levdatum->level->cat, i))
298 * sensitivity in low level.
363 context->range.level[l].sens = levdatum->level->sens;
390 (&context->range.level[l].cat,
413 (&context->range.level[l].
436 /* High level is missing, copy low level */
438 if (mls_level_cpy(&context->range.level[1],
439 &context->range.level[0]) < 0)
460 dst->range.level[l].sens = src->range.level[l].sens;
461 rc = ebitmap_cpy(&dst->range.level[l].cat,
462 &src->range.level[l].cat);
480 dst->range.level[l].sens = src->range.level[0].sens;
481 rc = ebitmap_cpy(&dst->range.level[l].cat,
482 &src->range.level[0].cat);
499 context->range.level[l].sens = range->level[l].sens;
500 rc = ebitmap_cpy(&context->range.level[l].cat,
501 &range->level[l].cat);
513 mls_level_t *fromcon_sen = &(fromcon->range.level[0]);
514 mls_level_t *fromcon_clr = &(fromcon->range.level[1]);
515 mls_level_t *user_low = &(user->exp_range.level[0]);
516 mls_level_t *user_clr = &(user->exp_range.level[1]);
518 mls_level_t *usercon_sen = &(usercon->range.level[0]);
519 mls_level_t *usercon_clr = &(usercon->range.level[1]);
521 /* Honor the user's default level if we can */
535 the user's computed sensitivity level) */
570 level
577 c->range.level[l].sens = levdatum->level->sens;
580 ebitmap_for_each_positive_bit(&c->range.level[l].cat, cnode, i) {
596 ebitmap_destroy(&c->range.level[l].cat);
597 c->range.level[l].cat = bitmap;
793 mls_semantic_level_init(&r->level[0]);
794 mls_semantic_level_init(&r->level[1]);
799 mls_semantic_level_destroy(&r->level[0]);
800 mls_semantic_level_destroy(&r->level[1]);
806 if (mls_semantic_level_cpy(&dst->level[0], &src->level[0]) < 0)
809 if (mls_semantic_level_cpy(&dst->level[1], &src->level[1]) < 0) {
810 mls_semantic_level_destroy(&dst->level[0]);