smk_read_ptrace(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… smk_read_ptrace(9) β€” the Kernel API Manual, bestie edition

okay so welcome to the Kernel API Manual, specifically the page for smk_read_ptrace(9), and honestly? she's a short one but she MATTERS. this is the read side of /smack/ptrace, and we're gonna get into it. ✨


🌸 NAME 🌸

smk_read_ptrace β€” literally the read() for /smack/ptrace. that's it, that's the whole vibe. πŸŽ€


✨ SYNOPSIS ✨

ssize_t smk_read_ptrace (struct file *filp , char __user *buf , size_t
       count , loff_t *ppos );

like, look at her. four args, one return type, zero notes. iconic.


πŸ¦‹ ARGUMENTS πŸ¦‹

  • filp β€” the file pointer. and no, she is not actually used. she's there, she's invited, she's not participating. πŸ’€
  • buf β€” this is where you put the result. the whole point, fr fr.
  • count β€” the maximum amount you're allowed to send along. your limit, your ceiling, your budget. πŸ‘‘
  • ppos β€” where to start. your little bookmark in the file. πŸ”–

πŸ’– DESCRIPTION πŸ’–

returns the number of bytes read, or an error code, as appropriate. that's the entire description and honestly? she ate. short, sweet, to the point. no cap. 🫢

reminder bestie: it returns a count on success and an error code when things go sideways β€” it does not magically do both. read the return value carefully. 🌈

πŸ”₯ SEE ALSO πŸ”₯

first up, the kernel file: ./security/smack/smackfs.c β€” go peek, she's got lore.

and now, the friend group (yes, all of them, i'm not skipping a single one, don't test me):

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_write_doi(9), smk_read_cipso_auto_level(9), smk_write_cipso_auto_level(9), smk_read_ambient(9), smk_write_ambient(9).

still going, stay with me 🧚

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).

almost there, you're doing amazing πŸ’œ

smk_open_relabel_self(9), smk_write_relabel_self(9), smk_write_ptrace(9) β€” yes, her sister, the write side, go say hi β€” smk_fill_super(9), smk_get_tree(9), smk_init_fs_context(9), init_smk_fs(9).

periodt. that's the whole guest list. πŸŽ€


okay and finally, the cute little sign-off: this page lives under ./security/smack, and it's dated October 2026. so like, mark your calendar bestie, and go read some smack files. πŸ’…βœ¨πŸ¦‹

πŸ“¦ where this page comes from