smack_cred_transfer(9)
π smack_cred_transfer(9) β Kernel API Manual, section 9 β¨
okay bestie, so this one's from the Kernel API Manual (section 9, the kernel-functions girlies) and it's called smack_cred_transfer. It's short, it's sweet, it does exactly one thing, and honestly? Iconic behaviour.
πΈ NAME πΈ
smack_cred_transfer β Transfer the old credentials to the new credentials π
β¨ SYNOPSIS β¨
void smack_cred_transfer (struct cred *new , const struct cred *old );
π«Ά ARGUMENTS π«Ά
newβ the new credentials. the fresh blank little baby set, ready to be filled in πoldβ the original credentials. the source material, the blueprint, the one with the lore π¦
π DESCRIPTION π
Fill in a set of blank credentials from another set of credentials. That's it. That's the whole vibe. you take the empty new creds, you take the already-populated old creds, and you pour one into the other. no cap, that's the entire plot π
π SEE ALSO π
the kernel file ./security/smack/smack_lsm.c, plus the whole Smack extended family β genuinely a huge family, bring snacks π
- the little helpers:
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) - superblock / mount / exec-ish:
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) - the inode girlies:
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) - files & mmap:
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) - the creds crew (yes, our girl is here too):
smack_cred_alloc_blank(9),smack_cred_free(9),smack_cred_prepare(9),smack_cred_getsecid(9),smack_cred_getlsmprop(9),smack_kernel_act_as(9),smack_kernel_create_files_as(9) - task stuff:
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) - sockets, netlabel & networking:
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) - the IPC squad:
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 / selfattr:
smack_d_instantiate(9),smack_getselfattr(9),smack_getprocattr(9),do_setattr(9),smack_setselfattr(9),smack_setprocattr(9) - unix sockets & the receive path:
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) - keys & audit:
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) - labels, secctx, io_uring & the origin story:
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 page, bestie π§ no notes, 10/10, would transfer creds again π
<cute sign-off>this lil masterpiece lives in ./security/smack and it's dated October 2026 β you're welcome, future girlies β¨π</cute sign-off>
π¦ 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