change_profile_perms(9)
π
change_profile_perms(9) π
okay bestie, youβve opened the Kernel API Manual page for change_profile_perms, and weβre gonna make it make sense. no cap, this is the function that finds permissions for change_profile. β¨
πΈ NAME πΈ
change_profile_perms β finds permissions for change_profile, and yes thatβs the whole name vibe. π
β¨ SYNOPSIS β¨
hereβs the signature, bestie β literally copy it exactly, no autocorrect:
int change_profile_perms (const struct aa_profile *profile , struct
aa_label *target , bool stack , u32 request , aa_state_t start , struct
aa_perms *perms );
π¦ ARGUMENTS π¦
profileβ the current profile, and it is NOT NULL (do not test that limit, bestie π).targetβ the label to transition to, also NOT NULL (periodt).stackβ whether this is a stacking request. yep, thatβs the flag vibe.requestβ the requested perms.startβ the state to start matching in.permsβReturns computed perms, and it is NOT NULL too. the function fills this cutie in. β¨
π§ DESCRIPTION π§
okay so right now it only matches a full label like A//B//C or individual components like A, B, C β not arbitrary combinations. for example, Eg. A//B, C is not getting matched by this. itβs giving strict full-label-or-single-component energy, and thatβs the current behavior. π
π RETURN π
permission set β thatβs what comes back. iconic. π₯
π SEE ALSO π
Kernel file ./security/apparmor/domain.c β go say hi to these related besties too:
may_change_ptraced_domain(9)label_compound_match(9)label_components_match(9)label_match(9)aa_xattrs_match(9)find_attach(9)x_table_lookup(9)x_to_label(9)apparmor_bprm_creds_for_exec(9)aa_change_hat(9)aa_change_profile(9)
mwah π β this page came from ./security/apparmor, dated October 2026, and itβs change_profile_perms(9). slay, youβre all caught up π«Ά
π¦ 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