smack_task_getsid(9)
π smack_task_getsid(9) β the Kernel API Manual page, bestie edition π
okay so this is from the Kernel API Manual (smack_task_getsid(9), section 9, kernel stuff), and it is so small but so important, like a tiny little bouncer checking IDs at the door of a task struct. let's get into it π
β¨ NAME β¨
smack_task_getsid β the Smack access check for getsid π΅οΈββοΈ
πΈ SYNOPSIS πΈ
int smack_task_getsid (struct task_struct *p );
that's it. one function, one argument, one vibe. periodt π
π¦ ARGUMENTS π¦
pβ the object task π like, the task struct that's getting looked at in this whole access-check situation. she's the object of the sentence, fr fr.
β DESCRIPTION β
okay so here's the whole thing, no cap: this returns 0 if current can read the object task, and an error code otherwise π
that's the entire description. it's giving "short and sweet and does not elaborate." the current task wants to read the object task, this function does the vibes check (the Smack access check), and you get a 0 (slay, allowed) or an error code (not slay, denied). π
no extra lore here bestie, that's genuinely all the page says, so don't come for me π
π§ SEE ALSO π§
okay this part is a journey. the whole roster lives in the kernel file ./security/smack/smack_lsm.c β and there are a LOT of them, so buckle up, we're doing the full roll call π
first batch, the fetch-and-init girlies plus the ptrace and syslog crew:
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)
the superblock / filesystem-context section, moving right along:
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)
the inode girlies, and there are SO many of them, they ate:
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)
file hooks, short but iconic:
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)
cred hooks, main character energy:
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)
task hooks β and yes, smack_task_getsid's siblings are all hanging out here:
smack_task_setpgid(9), smack_task_getpgid(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)
socket + network label crew, highkey a lot of labels:
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)
IPC everything β messages, shared memory, semaphores, the whole Polybius arc:
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)
procattr, dentry, unix sockets, and the secattr/secctx converters:
smack_d_instantiate(9), smack_getselfattr(9), smack_getprocattr(9), do_setattr(9), smack_setselfattr(9), smack_setprocattr(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)
and the grand finale lineup β keys, watch, notifications, audit, secctx conversions, io_uring, and the big smack_init(9) at the end like a bow on top π:
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)
and that's the whole page, bestie!! πβ¨π¦
cute little sign-off because we're polite like that: this one's sourced from ./security/smack, stamped October 2026, and it's smack_task_getsid(9) in the Kernel API Manual β go read the other 136 pages, iykyk π«ΆπΈπ
π¦ 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