smack_getselfattr(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… smack_getselfattr(9) πŸ’…

okay bestie, welcome to the Kernel API Manual entry for smack_getselfattr(9) β€” literally the cutest little syscall-adjacent helper in the Smack security module πŸŽ€ no cap, this one's short and sweet, so grab your iced coffee and let's go ✨


🌸 NAME 🌸

smack_getselfattr β€” Smack current process attribute. that's it, that's the vibe 🫢


⭐ SYNOPSIS ⭐

int smack_getselfattr (unsigned int attr , struct lsm_ctx __user *ctx ,
u32 *size , u32 flags );

look at her. four args, one int coming back. iconic signature tbh πŸ’…


πŸ¦‹ ARGUMENTS πŸ¦‹

  • attr β€” which attribute to fetch πŸ‘€ like, pick your fighter
  • ctx β€” buffer to receive the result πŸ’Œ it's struct lsm_ctx __user *, so yes she lives in user space
  • size β€” available size in, actual size out πŸ” it's a two-way street, in and out, no cap
  • flags β€” reserved, currently zero 🚫✨ reserved means leave it at zero, fr fr, don't be the main character trying to set bits

πŸ”₯ DESCRIPTION πŸ”₯

Fill the passed user space ctx with the details of the requested attribute. that's the whole job, and she does it well πŸ’–

Returns the number of attributes on success, an error code otherwise. and here's the slay: there will only ever be one attribute πŸ‘‘ singular. one. so like, if you were bracing for a whole list, breathe β€” it's giving one (1) attribute, periodt πŸŽ€

bestie reminder: the return value on success is the count (so, one), and anything else is an error code 😭 check it, don't just vibe past it

🌈 SEE ALSO 🌈

Kernel file ./security/smack/smack_lsm.c β€” that's where the source lives, iykyk πŸ—‚οΈ and also, uh, literally the entire Smack extended universe below 🌌✨ our girl has so many friends:

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_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), 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)

okay that's the whole group chat, everybody's here πŸ˜­πŸ’€


that's the page, bestie πŸ’œ go read a ctx and slay ✨

sign-off szn πŸŽ€ this cutie came from ./security/smack, dated October 2026, and she answers to smack_getselfattr(9) β€” mwah πŸ’‹

πŸ“¦ where this page comes from