__create_missing_ancestors(9)
π __create_missing_ancestors(9) π
okay bestie, this page is coming at you from the Kernel API Manual, and it's all about one very specific little function. no cap, let's get into it.
π¦ NAME π¦
__create_missing_ancestors β create place holders for missing ancestors. that's the whole vibe of the name, and she's literally doing what it says.
β¨ SYNOPSIS β¨
struct aa_policy * __create_missing_ancestors (struct aa_ns *ns , const char *hname , gfp_t gfp );
π ARGUMENTS π
nsβ namespace to lookup profile in. it isNOT NULL, bestie, so don't even try it.hnameβ hierarchical profile name to find parent of. alsoNOT NULL. the constraints are constraining.gfpβ type of allocation.
π DESCRIPTION π
Requires: ns mutex lock held. not optional, not "i'll do it later," not a vibe check you can skip. hold the ns mutex lock before you call this, periodt.
π RETURN π
on success, you get an unrefcounted parent policy. if there's an error creating place holder profiles, you get NULL. that's the return tea, no extra garnish.
π SEE ALSO π
the kernel file is ./security/apparmor/policy.c, and these are all the related manual pages in the group chat:
aa_pdb_free_kref(9)__add_profile(9)__list_remove_profile(9)__remove_profile(9)__aa_profile_list_release(9)aa_free_data(9)aa_free_profile(9)aa_alloc_profile(9)__strn_find_child(9)__find_child(9)aa_find_child(9)__lookup_parent(9)__lookupn_profile(9)aa_lookupn_profile(9)__aa_new_learning_profile(9)replacement_allowed(9)audit_policy(9)aa_policy_view_capable(9)aa_may_manage_policy(9)__replace_profile(9)__lookup_replace(9)aa_replace_profiles(9)aa_remove_profiles(9)
xoxo, your Unix bestie π β source: ./security/apparmor, manual/version: Kernel API Manual, date: October 2026. mwah π«Ά
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms