avc_perm_nonode(9)
π avc_perm_nonode β a.k.a. the Kernel API Manual, section 9, bestie π
okay so picture this: it's kernel time, it's SELinux time, and you need one (1) tiny little function that's like the backstage pass handler for the AVC. welcome to avc_perm_nonode(9) β¨ she's in the Kernel API Manual, section 9, and she is lowkey doing the most important "unlikely path" work you've never noticed. periodt. π
β¨ NAME β¨
avc_perm_nonode β add an entry to the AVC π«Ά
like... that's literally her whole job. adding an entry. to the AVC. iconic behavior fr fr.
π SYNOPSIS π
int avc_perm_nonode (u32 ssid , u32 tsid , u16 tclass , u32 requested ,
unsigned int flags , struct av_decision *avd );
look at that signature, bestie. six whole arguments. she's got range. π
π¦ ARGUMENTS π¦
every single one of these matters, no skipping, we don't do that here π
ssidβ the subject. like, who's asking? main character energy.tsidβ object/target. the thing being asked about. the love interest, if you will.tclassβ object class. what kind of thing is the target. the vibe check, basically.requestedβ requested permissions. what the subject is trying to do. the ask. πflagsβ AVC flags. the little switches that change how she moves. βavdβ access vector decision. the verdict gets dropped in here. like a little envelope with your fate inside π
πΈ DESCRIPTION πΈ
okay so real talk: this is the "we have no node" part of avc_has_perm_noaudit. iykyk.
and the way that this path is unlikely π β like it does not happen often, it's the rare route β and it needs extra stack space for the new node that we generate. so that's why we don't inline it. NOT inlined. she stands on her own two feet. no cap. π₯
the actual point: this function exists as a separate, non-inlined thing because it's the rare "no node" case and it has to grab extra stack space for the brand-new node it generates. that's the whole reason. slay. π
π SEE ALSO π
she does not exist in a vacuum, bestie, she's part of a whole ecosystem π§ and the kernel file she lives in is:
./security/selinux/avc.c
and here's the whole friend group, don't leave anyone out π:
avc_init(9)avc_lookup(9)avc_insert(9)avc_audit_pre_callback(9)avc_audit_post_callback(9)avc_add_callback(9)avc_update_node(9)avc_flush(9)avc_ss_reset(9)avc_compute_av(9)avc_has_perm_noaudit(9)avc_has_perm(9)
π the cute little sign-off π
this absolute gem comes to you straight out of ./security/selinux, dated October 2026 β so yeah, she's fresh, she's current, she's got the whole kernel API manual behind her. go forth and add your entries, bestie. you're gonna ate. ππ
π¦ 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