smack_setprocattr(9)
π smack_setprocattr(9) β Kernel API Manual π
okay so bestie, welcome to the glow-up of smack_setprocattr(9), straight out of the Kernel API Manual. this is the little function that handles Smack process attribute setting, and yes it's giving security-module realness π
β¨ NAME β¨
smack_setprocattr β Smack process attribute setting. that's it, that's the vibe π
β¨ SYNOPSIS β¨
int smack_setprocattr (const char *name , void *value , size_t size );
like, look at her. three params, no notes, absolute main character energy π
β¨ ARGUMENTS β¨
nameβ the name of the attribute in/proc/.../attrπ§ iykyk, that's the pseudo-file path shapevalueβ the value to set. the actual payload, the moment, the ~content~ πsizeβ the size of the value. someone has to keep track of how much value there is π«Ά
β¨ DESCRIPTION β¨
So what does she do? She sets the Smack value of the task. That's the whole assignment, no cap π₯
But listen β there are rules, and they are not a suggestion:
Only setting self is permitted, and only with privilege. so no, you cannot go changing other tasks' Smack values, and no, you cannot do this unprivileged. the vibe check is strict, periodt π
And what does she give back? She returns the size of the input value or an error code β so either "here's how big the thing you handed me was" or "nope, error bestie" π
β¨ SEE ALSO β¨
okay this next part is genuinely iconic β the entire Smack cinematic universe lives here π the kernel file is ./security/smack/smack_lsm.c, and the cross-references are:
smk_fetch(9),init_inode_smack(9),init_task_smack(9),smk_copy_rules(9),smk_copy_relabel(9)smk_ptrace_mode(9),smk_ptrace_rule_check(9),smack_ptrace_access_check(9),smack_ptrace_traceme(9),smack_syslog(9)smack_sb_alloc_security(9),smack_fs_context_submount(9),smack_fs_context_dup(9),smack_fs_context_parse_param(9)smack_set_mnt_opts(9),smack_sb_statfs(9),smack_bprm_creds_for_exec(9)smack_inode_alloc_security(9),smk_rule_transmutes(9),smack_inode_init_security(9)smack_inode_link(9),smack_inode_unlink(9),smack_inode_rmdir(9),smack_inode_rename(9)smack_inode_permission(9),smack_inode_setattr(9),smack_inode_getattr(9),smack_inode_xattr_skipcap(9)smack_inode_setxattr(9),smack_inode_post_setxattr(9),smack_inode_getxattr(9),smack_inode_removexattr(9)smack_inode_set_acl(9),smack_inode_get_acl(9),smack_inode_remove_acl(9)smack_inode_getsecurity(9),smack_inode_listsecurity(9),smack_inode_getlsmprop(9)smack_file_alloc_security(9),smack_file_ioctl(9),smack_file_lock(9),smack_file_fcntl(9)smack_mmap_file(9),smack_file_set_fowner(9),smack_file_send_sigiotask(9),smack_file_receive(9),smack_file_open(9)smack_cred_alloc_blank(9),smack_cred_free(9),smack_cred_prepare(9),smack_cred_transfer(9),smack_cred_getsecid(9)smack_cred_getlsmprop(9),smack_kernel_act_as(9),smack_kernel_create_files_as(9)smk_curacc_on_task(9),smack_task_setpgid(9),smack_task_getpgid(9),smack_task_getsid(9)smack_current_getlsmprop_subj(9),smack_task_getlsmprop_obj(9)smack_task_setnice(9),smack_task_setioprio(9),smack_task_getioprio(9)smack_task_setscheduler(9),smack_task_getscheduler(9),smack_task_movememory(9),smack_task_kill(9),smack_task_to_inode(9)smack_sk_alloc_security(9),smack_sk_free_security(9),smack_sk_clone_security(9)smack_ipv4host_label(9),smack_ipv6host_label(9),smack_netlbl_add(9),smack_netlbl_delete(9)smk_ipv4_check(9),smk_ipv6_check(9),smk_ipv6_port_label(9),smk_ipv6_port_check(9)smack_inode_setsecurity(9),smack_socket_post_create(9),smack_socket_socketpair(9),smack_socket_bind(9),smack_socket_connect(9)smack_flags_to_may(9),smack_msg_msg_alloc_security(9),smack_of_ipc(9),smack_ipc_alloc_security(9)smk_curacc_shm(9),smack_shm_associate(9),smack_shm_shmctl(9),smack_shm_shmat(9)smk_curacc_sem(9),smack_sem_associate(9),smack_sem_semctl(9),smack_sem_semop(9)smk_tskacc_msq(9),smk_curacc_msq(9),smack_msg_queue_associate(9),smack_msg_queue_msgctl(9),smack_msg_queue_msgsnd(9),smack_msg_queue_msgrcv(9)smack_ipc_permission(9),smack_ipc_getlsmprop(9),smack_d_instantiate(9)smack_getselfattr(9),smack_getprocattr(9),do_setattr(9),smack_setselfattr(9)smack_unix_stream_connect(9),smack_unix_may_send(9),smack_socket_sendmsg(9)smack_from_secattr(9),smack_from_skb(9),smack_from_netlbl(9),smack_socket_sock_rcv_skb(9)smack_socket_getpeersec_stream(9),smack_socket_getpeersec_dgram(9)smack_inet_conn_request(9),smack_inet_csk_clone(9)smack_key_alloc(9),smack_key_permission(9),smack_watch_key(9),smack_post_notification(9)smack_audit_rule_init(9),smack_audit_rule_known(9),smack_audit_rule_match(9)smack_ismaclabel(9),smack_to_secctx(9),smack_secid_to_secctx(9),smack_lsmprop_to_secctx(9),smack_secctx_to_secid(9)smack_uring_override_creds(9),smack_uring_sqpoll(9),smack_uring_cmd(9),smack_init(9)
like, she knows everyone. networking, IPC, keys, audit, io_uring, creds, inodes, files β the whole group chat π¦
and that's the page bestie!! π₯³ this little gem lives in ./security/smack, dated October 2026, and it's filed under smack_setprocattr(9) β go forth and set those attributes (respectfully, with privilege, self only) ππΈ
π¦ 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