__aa_label_next_not_in_set(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ __aa_label_next_not_in_set β€” the Kernel API Manual glow-up ✨

okay so bestie, welcome to the __aa_label_next_not_in_set(9) page from the Kernel API Manual πŸ’– this one's a little AppArmor label helper and honestly it's giving "behind the scenes queen" β€” she's not famous but she's doing the work. Let's get into it πŸŽ€


🌸 NAME 🌸

__aa_label_next_not_in_set β€” returns the next profile of @sub that is not in @set ✨ like, "hey, what's in sub that set hasn't already got?" energy.


πŸ¦‹ SYNOPSIS πŸ¦‹

struct aa_profile * __aa_label_next_not_in_set (struct label_it *I ,
const struct aa_label *set , const struct aa_label *sub );

three args, one struct pointer return, no cap πŸ’…


πŸ’œ ARGUMENTS πŸ’œ

  • I β€” the label iterator, bestie. she's the little cursor that keeps track of where we're at 🫢
  • set β€” the label we're testing against, aka the "does this one already live here?" crew πŸ‘‘
  • sub β€” the label we're checking to see if it's a subset of set (literally what it says on the tin πŸ“)

⭐ RETURN ⭐

so the function hands you back the profile in sub that is not in set, and the iterator's position gets set right after it πŸ’«

and if sub turns out to be a subset of set? then it's a big fat NULL 😭 nothing to report, everyone's already accounted for. periodt.


🧚 SEE ALSO 🧚

the whole friend group fr fr β€” all these live in the kernel file ./security/apparmor/label.c:

ns_cmp(9), profile_cmp(9), vec_cmp(9), aa_vec_unique(9), aa_label_alloc(9), label_cmp(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), label_components_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)

like, that's the whole gc right there πŸ˜­πŸ’€ every single one of them, we don't skip anybody in this house 🫢


okay that's the page!! mwah πŸ’‹ this lil cutie comes to you from ./security/apparmor, dated October 2026 β€” slay, stay hydrated, and may your labels never be subsets when you don't want them to be πŸŒˆπŸ‘‘πŸ’…

πŸ“¦ where this page comes from