smk_write_doi(9)
π
smk_write_doi(9) β like, the write() for /smack/doi, bestie
okay so this is a kernel API manual page (fr fr, section 9, the grown-up kernel docs) and today's main character is smk_write_doi. it's short, it's sweet, it's giving "tiny function with a big job." let's get into it π
β¨ NAME β¨
smk_write_doi β literally the write() handler for /smack/doi. that's it, that's the vibe. π
πΈ SYNOPSIS πΈ
ssize_t smk_write_doi (struct file *file , const char __user *buf ,
size_t count , loff_t *ppos );
okay so it returns a ssize_t, bestie β remember that, it matters. π
π¦ ARGUMENTS π¦
fileβ the file pointer. and likeβ¦ it's not actually used? iconic honestly. it's just there for the vibes (and the function signature). πbufβ where to get the data from. the source of truth, the origin story, the plug. β¨countβ how many bytes got sent. the size of the moment. πpposβ where to start. your starting point, your little offset, your "beginning of the scroll." π«Ά
π₯ DESCRIPTION π₯
Returns the number of bytes written or an error code, as appropriate. that's the whole description, no cap β it does the thing, then it tells you how much of the thing it did, or it hands you an error code if it's not slaying today. π
π SEE ALSO π
so there's a whole smack family and the manpage wants you to know about every single one of them (yes, all of them, i counted, do not test me). the kernel file for all this is ./security/smack/smackfs.c, and the extended fam is:
smk_netlabel_audit_set(9), smk_set_access(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_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, the whole friend group showed up. group chat energy fr fr. π
ngl this one's a short read β but short β skippable, bestie. every arg, every return, every reference is here. you're welcome. π
and that's the page! π from ./security/smack, dated October 2026 β stan a kernel doc that stays fresh. bye bestie, go read smk_read_doi(9) next, it's literally right there in the list πβ¨π
π¦ 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