smk_write_doi(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… 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