smk_parse_rule(9)
π smk_parse_rule(9) β like, the Kernel API Manual edition, bestie π
okay so real talk, this whole page lives in the Kernel API Manual, and the star of the show is smk_parse_rule β a function whose entire personality is "turn a load string into a Smack rule." no cap, that's the vibe. β¨
πΈ NAME πΈ
smk_parse_rule β parse a Smack rule from a load string. literally that's it, that's the job π«Ά
β¨ SYNOPSIS β¨
int smk_parse_rule (const char *data , struct smack_parsed_rule *rule ,
int import );
π ARGUMENTS π
dataβ the string to be parsed, and bestie its size isSMK_LOADLEN. that's a fixed-size situation, so don't come at it with whatever length you want πruleβ the Smack rule. that's the thing you're filling in, main character energy fr fr πimportβ if it's non-zero, the labels get imported. if it's zero, they don't. simple as π
π¦ DESCRIPTION π¦
returns 0 on success, and -1 on errors. that's the whole mood board, honestly β zero means slay, minus one means something went sideways π
lowkey important: -1 is the error signal here, so always vibe check that return value before you keep going.
π₯ SEE ALSO π₯
kernel file ./security/smack/smackfs.c π and then, like, the extended friend group:
smk_netlabel_audit_set(9), smk_set_access(9), smk_perm_from_str(9), smk_fill_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) π
and that's the whole page, mwah π β brought to you by the ./security/smack girlies, dated October 2026, in the one and only Kernel API Manual. go forth and parse responsibly π§ββοΈπ
π¦ 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