smack_msg_queue_msgsnd(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… smack_msg_queue_msgsnd(9) β€” Smack access check for msg_queue πŸŽ€

okay so you're reading the Kernel API Manual page for smack_msg_queue_msgsnd(9), and honestly? it's a short one. a little baby page. but it's iconic and we're gonna understand it together, bestie ✨


🌸 NAME 🌸

smack_msg_queue_msgsnd β€” the Smack access check for msg_queue. that's it. that's the whole vibe check πŸ’…


✨ SYNOPSIS ✨

int smack_msg_queue_msgsnd (struct kern_ipc_perm *isp , struct msg_msg
*msg , int msqflg );

look at that signature. chef's kiss. no cap 🫢


πŸŽ€ ARGUMENTS πŸŽ€

  • isp β€” the object. like, the actual thing we're checking access on. main character energy fr πŸ‘‘
  • msg β€” unused. literally just sitting there, not doing anything, not being read, just vibing πŸ’€ don't worry about it
  • msqflg β€” the access requested. this is the "what do you want to do tho" of the whole thing 🌸

πŸ¦‹ DESCRIPTION πŸ¦‹

so here's the tea β˜• β€” it Returns 0 if current has the requested access, error code otherwise.

that's the entire personality. zero means slay, you're allowed. anything else means no ma'am, and it comes back as an error code 😭

lowkey the most well-behaved little function on the whole LSM block. no drama, no side quests, just a vibe check and a return value πŸ’–

🌈 SEE ALSO 🌈

Kernel file ./security/smack/smack_lsm.c, plus honestly the entire extended friend group of Smack functions. grab a snack, this list is long πŸ“

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

like I said. the whole group chat πŸ˜­πŸ’œ


okay that's the page!! huge thank you to ./security/smack for holding it down, this one's dated October 2026, and it will forever be known as smack_msg_queue_msgsnd(9) πŸ¦‹βœ¨ mwah, bye bestie πŸ’–πŸŽ€

πŸ“¦ where this page comes from