label_components_match(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– NAME πŸ’–

hiii bestie!! welcome to label_components_match(9), straight out of the Kernel API Manual ✨ this one is lowkey niche but it's giving kernel-internals main character energy, and we're gonna get through it together 🫢

label_components_match β€” find perms for all subcomponents of a label. periodt πŸ’…


🌸 SYNOPSIS 🌸

int label_components_match (const struct aa_profile *profile , struct
       aa_ruleset *rules , struct aa_label *label , aa_state_t start , bool
       inview , u32 request , struct aa_perms *perms );

✨ ARGUMENTS ✨

  • profile β€” profile to find perms for πŸŽ€
  • rules β€” ruleset to search πŸ”
  • label β€” label to check access permissions for πŸ‘‘
  • start β€” state to start match in 🌱
  • inview β€” whether to match labels in view or only in scope πŸ¦‹
  • request β€” permissions to request πŸ™ˆ
  • perms β€” an initialized perms struct to add accumulation to πŸ’–

🌈 RETURN 🌈

the state the match finished in, may be the none matching state 😭

like, it hands back the state where the match ended up, and yes, that can be the none matching state β€” no cap, don't panic if that's what you get πŸ’€


πŸ¦‹ DESCRIPTION πŸ¦‹

okay so for the label A//B//C, this does the perm match for each of A and B and C ✨ all three get their moment, fr fr.

bestie, listen: perms should be preinitialized with allperms OR a previous permission check to be stacked. that's literally the setup πŸ’…

πŸ’œ SEE ALSO πŸ’œ

Kernel file ./security/apparmor/label.c β€” plus the whole referenced bestie circle: ns_cmp(9), profile_cmp(9), vec_cmp(9), aa_vec_unique(9), aa_label_alloc(9), label_cmp(9), __aa_label_next_not_in_set(9), aa_label_is_subset(9), aa_label_is_unconfined_subset(9), __label_remove(9), __label_replace(9), __label_insert(9), __vec_find(9), __label_find(9), aa_label_remove(9), aa_label_replace(9), vec_find(9), aa_label_insert(9), aa_label_next_in_merge(9), label_merge_cmp(9), label_merge_insert(9), labelset_of_merge(9), __label_find_merge(9), aa_label_find_merge(9), aa_label_merge(9), label_compound_match(9), aa_label_match(9), aa_update_label_name(9), aa_profile_snxprint(9), aa_label_snxprint(9), aa_label_asxprint(9), aa_label_acntsxprint(9), aa_label_strn_parse(9), aa_labelset_destroy(9), __label_update(9), __labelset_update(9), __aa_labelset_update_subtree(9) 🫢


kisses!! this page came from the source/version tag ./security/apparmor, dated October 2026, and it's serving label_components_match(9) manual-page realness β€” bye bestie πŸ’…βœ¨

πŸ“¦ where this page comes from