smk_set_access(9)
π smk_set_access(9) β Kernel API Manual, bestie edition π
okay so picture this: it's smk_set_access, a function from the Kernel API Manual, and she is literally the rule-list glow-up specialist. here's everything you need to know, no cap. β¨
β¨ SYNOPSIS β¨
int smk_set_access (struct smack_parsed_rule *srp , struct list_head
*rule_list , struct mutex *rule_lock );
that's the whole vibe. three args, one int coming back at you. π«Ά
πΈ ARGUMENTS πΈ
srpβ the rule we're adding or replacing. this is the girl. the main character of the operation πrule_listβ the list of rules. yes, the list. the one she's about to be in.rule_lockβ the rule list lock. mutual exclusion said what she said. π
π¦ DESCRIPTION π¦
so what does she actually do? bestie, listen π
she goes looking through the current subject/object/access list for the subject/object pair. if she finds that pair? she replaces the access that was already chilling there. if the pair isn't found? she just adds it, with the access you specified. iconic behaviour, honestly. no drama, just rules. β¨
return value tea β:
- returns
0if nothing goes wrong β slay, we love a clean run π - returns
-ENOMEMif it fails during the allocation of the new pair to add β the memory said "not today" ππ
ngl, that -ENOMEM is the only plot twist here. everything else is smooth sailing. π
π₯ SEE ALSO π₯
Kernel file ./security/smack/smackfs.c, plus a whole friend group of functions β all of them, i'm not skipping a single one, that would be so rude:
smk_netlabel_audit_set(9)smk_perm_from_str(9)smk_fill_rule(9)smk_parse_rule(9)smk_parse_long_rule(9)smk_write_rules_list(9)smk_open_load(9)smk_write_load(9)smk_cipso_doi(9)smk_unlbl_ambient(9)smk_open_cipso(9)smk_set_cipso(9)smk_write_cipso(9)smk_open_cipso2(9)smk_write_cipso2(9)smk_open_net4addr(9)smk_net4addr_insert(9)smk_write_net4addr(9)smk_open_net6addr(9)smk_net6addr_insert(9)smk_write_net6addr(9)smk_read_doi(9)smk_write_doi(9)smk_read_cipso_auto_level(9)smk_write_cipso_auto_level(9)smk_read_ambient(9)smk_write_ambient(9)smk_list_swap_rcu(9)smk_parse_label_list(9)smk_destroy_label_list(9)smk_write_onlycap(9)smk_read_unconfined(9)smk_write_unconfined(9)smk_read_logging(9)smk_write_logging(9)smk_open_load_self(9)smk_write_load_self(9)smk_user_access(9)smk_write_access(9)smk_open_load2(9)smk_write_load2(9)smk_open_load_self2(9)smk_write_load_self2(9)smk_write_access2(9)smk_write_revoke_subj(9)smk_init_sysfs(9)smk_write_change_rule(9)smk_read_syslog(9)smk_write_syslog(9)smk_open_relabel_self(9)smk_write_relabel_self(9)smk_read_ptrace(9)smk_write_ptrace(9)smk_fill_super(9)smk_get_tree(9)smk_init_fs_context(9)init_smk_fs(9)
like i said β everyone's here. the whole smack squad. π
and that's the page, bestie π§ this little number lives under ./security/smack, dated October 2026, and goes by smk_set_access(9) β go forth and set some access, periodt. π
π¦ 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