aa_label_find_merge(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ aa_label_find_merge(9) ✨

okay so this is a page from the Kernel API Manual, section 9, and bestie it is literally about finding a label that's equivalent to the merge of @a and @b. let's get into it πŸ’…


🌸 NAME 🌸

aa_label_find_merge β€” find label that is equiv to merge of @a and @b

like... that's the whole vibe. you give it two labels, it finds you the label that's equivalent to their merge. iconic behavior honestly 🫢


πŸ¦‹ SYNOPSIS πŸ¦‹

struct aa_label * aa_label_find_merge (struct aa_label *a , struct
aa_label *b );

note the spacing, bestie β€” that's exactly how it's written, don't come for me 😭


πŸŽ€ ARGUMENTS πŸŽ€

  • a β€” label to merge with b (NOT NULL)
  • b β€” label to merge with a (NOT NULL)

both of these are NOT NULL, okay? like, they're required, no cap. neither one gets to be the flaky friend who doesn't show up πŸ™ˆ


πŸ’– DESCRIPTION πŸ’–

Requires: labels be fully constructed with a valid ns

that's the whole requirement. fully constructed labels, valid ns, or it's not gonna slay. periodt.


🌈 RETURN 🌈

a ref counted label that is equiv to merge of a and b β€” else NULL if merge of a and b is not in set

so: ref counted label = you got your answer, go be great ✨. NULL = the merge isn't in the set, no hard feelings, it's giving "not in this timeline" πŸ’€


🧚 SEE ALSO 🧚

Kernel file ./security/apparmor/label.c and honestly a whole friend group of functions:

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_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)

that's the whole squad, every single one of them, i did not skip a single name πŸ‘‘ (the double underscore ones are the mysterious ones and honestly? main character energy.)


lowkey a reminder: those two arguments are NOT NULL β€” don't be sending in nothing and then acting surprised, bestie 😭

and that's the page!! πŸ“ this one lives in ./security/apparmor, dated October 2026, and it's filed under aa_label_find_merge(9). mwah, go forth and merge responsibly πŸ’œπŸŽ€

πŸ“¦ where this page comes from