__aa_new_learning_profile(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ __aa_new_learning_profile β€” kernel API manual energy ✨

Okay bestie, so we're diving into the Kernel API Manual for __aa_new_learning_profile(9) and honestly? It's giving "create or find a null-X learning profile" and I'm obsessed. Let me break it down for you πŸ’…


🌸 NAME 🌸

__aa_new_learning_profile β€” create or find a null-X learning profile


πŸ¦‹ SYNOPSIS πŸ¦‹

Okay so here's the vibe, no cap:

struct aa_profile * __aa_new_learning_profile (struct aa_profile *parent
 , bool hat , const char *base , gfp_t gfp );

πŸŽ€ ARGUMENTS πŸŽ€

Bestie, let me introduce you to the squad:

  • parent β€” the profile that caused this profile to be created. And like, it is NOT NULL, periodt. You cannot skip this one, it's main character energy only.
  • hat β€” true if the null- learning profile is a hat. Yeah, a hat. We love a good hat moment 🎩
  • base β€” the name you wanna base the null profile off of. Like a little name inspo, y'know?
  • gfp β€” the type of allocation. Just the allocation type, nothing dramatic.

πŸ’– DESCRIPTION πŸ’–

So basically, this function finds or creates a null- complain mode profile that gets used in learning mode. Super important stuff.

The name of the profile is unique, and it follows this exact format, character for character:

parent//null-XXX

where XXX is based on the name β€” or, if that fails or you just didn't supply a name, it falls back to a unique number. Either way, it's getting a name, slay ✨

Now here's the tea about null profiles: they get added to the profile list, but the list does not hold a count on them β€” which means they're automatically released when they're not in use anymore. Iconic behavior, honestly. Lowkey self-cleaning. We stan a low-maintenance profile 🫢


🌈 RETURN 🌈

You get a new refcounted profile β€” or NULL on failure. That's it, that's the return. Fingers crossed for the refcounted one tho 😭


🧚 SEE ALSO 🧚

Okay the whole security squad shows up here. Make sure you check them all out, fr fr:


⚠️ Quick heads up bestie: the parent argument is NOT NULL β€” do not test that. It's literally in the manual. Respect the constraints, okay? πŸ’€

And that's the whole manual page, bestie! This gorgeous piece of kernel documentation lives in ./security/apparmor, dated October 2026, and it's filed under __aa_new_learning_profile(9) in the Kernel API Manual. Go forth and create those null learning profiles responsibly πŸ¦‹πŸ’œ

πŸ“¦ where this page comes from