__strn_find_child(9)
π NAME π
okay so this is __strn_find_child(9) from the Kernel API Manual, and its whole personality is: find a profile on the @head list using a substring of @name π
β¨. That's the mission, bestie β list head, name, substring length, go find the matching profile.
β¨ SYNOPSIS β¨
struct aa_profile * __strn_find_child (struct list_head *head , const
char *name , int len );
π ARGUMENTS π
headβ list to search, and it is NOT NULL β like, do not come in here with a null head, no cap π«Ά.nameβ name of profile, also NOT NULL β null name? not today, bestie π.lenβ length of name substring to match. That's the substring-energy you're matching with, periodt.
π¦ DESCRIPTION π¦
Requires: rcu_read_lock be held.
That's not a suggestion, bestie β Requires: rcu_read_lock be held. So hold that lock before you go searching. iykyk π₯.
πΈ RETURN πΈ
It returns an unrefcounted profile ptr, or NULL if not found. That's it β pointer if it finds your profile, NULL if not, and the pointer is unrefcounted. Slay π.
π₯ SEE ALSO π₯
Kernel file ./security/apparmor/policy.c β plus the whole reference squad, because we are listing every single one:
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)__find_child(9)aa_find_child(9)__lookup_parent(9)__create_missing_ancestors(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)
source/version: ./security/apparmor Β· date: October 2026 β mwah, bestie, go hold that rcu_read_lock and slay πβ¨
π¦ 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