Lines Matching refs:profile
319 struct aa_profile *profile; in label_destroy() local
324 label_for_each(i, label, profile) { in label_destroy()
325 aa_put_profile(profile); in label_destroy()
1230 static inline bool label_is_visible(struct aa_profile *profile, in label_is_visible() argument
1233 return aa_ns_visible(profile->ns, labels_ns(label), true); in label_is_visible()
1241 static inline unsigned int match_component(struct aa_profile *profile, in match_component() argument
1247 if (profile->ns == tp->ns) in match_component()
1248 return aa_dfa_match(profile->policy.dfa, state, tp->base.hname); in match_component()
1251 ns_name = aa_ns_name(profile->ns, tp->ns, true); in match_component()
1252 state = aa_dfa_match_len(profile->policy.dfa, state, ":", 1); in match_component()
1253 state = aa_dfa_match(profile->policy.dfa, state, ns_name); in match_component()
1254 state = aa_dfa_match_len(profile->policy.dfa, state, ":", 1); in match_component()
1255 return aa_dfa_match(profile->policy.dfa, state, tp->base.hname); in match_component()
1273 static int label_compound_match(struct aa_profile *profile, in label_compound_match() argument
1283 if (!aa_ns_visible(profile->ns, tp->ns, subns)) in label_compound_match()
1285 state = match_component(profile, tp, state); in label_compound_match()
1297 if (!aa_ns_visible(profile->ns, tp->ns, subns)) in label_compound_match()
1299 state = aa_dfa_match(profile->policy.dfa, state, "//&"); in label_compound_match()
1300 state = match_component(profile, tp, state); in label_compound_match()
1304 aa_compute_perms(profile->policy.dfa, state, perms); in label_compound_match()
1305 aa_apply_modes_to_perms(profile, perms); in label_compound_match()
1331 static int label_components_match(struct aa_profile *profile, in label_components_match() argument
1343 if (!aa_ns_visible(profile->ns, tp->ns, subns)) in label_components_match()
1345 state = match_component(profile, tp, start); in label_components_match()
1355 aa_compute_perms(profile->policy.dfa, state, &tmp); in label_components_match()
1356 aa_apply_modes_to_perms(profile, &tmp); in label_components_match()
1359 if (!aa_ns_visible(profile->ns, tp->ns, subns)) in label_components_match()
1361 state = match_component(profile, tp, start); in label_components_match()
1364 aa_compute_perms(profile->policy.dfa, state, &tmp); in label_components_match()
1365 aa_apply_modes_to_perms(profile, &tmp); in label_components_match()
1390 int aa_label_match(struct aa_profile *profile, struct aa_label *label, in aa_label_match() argument
1394 int error = label_compound_match(profile, label, state, subns, request, in aa_label_match()
1400 return label_components_match(profile, label, state, subns, request, in aa_label_match()
1483 struct aa_profile *profile, int flags, in aa_profile_snxprint() argument
1489 AA_BUG(!profile); in aa_profile_snxprint()
1492 view = profiles_ns(profile); in aa_profile_snxprint()
1494 if (view != profile->ns && in aa_profile_snxprint()
1495 (!prev_ns || (*prev_ns != profile->ns))) { in aa_profile_snxprint()
1497 *prev_ns = profile->ns; in aa_profile_snxprint()
1498 ns_name = aa_ns_name(view, profile->ns, in aa_profile_snxprint()
1507 if ((flags & FLAG_SHOW_MODE) && profile != profile->ns->unconfined) { in aa_profile_snxprint()
1508 const char *modestr = aa_profile_mode_names[profile->mode]; in aa_profile_snxprint()
1512 profile->base.hname, modestr); in aa_profile_snxprint()
1513 return snprintf(str, size, "%s (%s)", profile->base.hname, in aa_profile_snxprint()
1519 profile->base.hname); in aa_profile_snxprint()
1520 return snprintf(str, size, "%s", profile->base.hname); in aa_profile_snxprint()
1526 struct aa_profile *profile; in label_modename() local
1530 label_for_each(i, label, profile) { in label_modename()
1531 if (aa_ns_visible(ns, profile->ns, flags & FLAG_VIEW_SUBNS)) { in label_modename()
1532 if (profile->mode == APPARMOR_UNCONFINED) in label_modename()
1540 mode = profile->mode; in label_modename()
1541 else if (mode != profile->mode) in label_modename()
1560 struct aa_profile *profile; in display_mode() local
1563 label_for_each(i, label, profile) { in display_mode()
1564 if (aa_ns_visible(ns, profile->ns, in display_mode()
1566 profile != profile->ns->unconfined) in display_mode()
1596 struct aa_profile *profile; in aa_label_snxprint() local
1613 label_for_each(i, label, profile) { in aa_label_snxprint()
1614 if (aa_ns_visible(ns, profile->ns, flags & FLAG_VIEW_SUBNS)) { in aa_label_snxprint()
1619 len = aa_profile_snxprint(str, size, ns, profile, in aa_label_snxprint()
1859 DEFINE_VEC(profile, vec); in aa_label_strn_parse()
1881 error = vec_setup(profile, vec, len, gfp); in aa_label_strn_parse()
1928 vec_cleanup(profile, vec, len); in aa_label_strn_parse()