change_profile_perms(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… 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:


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