security_msg_queue_msgrcv(9)
π security_msg_queue_msgrcv(9) β from the Kernel API Manual, section 9 π
okay so bestie, gather round, because we're talking about security_msg_queue_msgrcv β a little kernel hook with a LOT of personality. This is the "can you even receive that message, babe?" permission check. β¨
πΈ NAME πΈ
security_msg_queue_msgrcv β literally just checking if receiving a sysv ipc msg is allowed π
β¨ SYNOPSIS β¨
int security_msg_queue_msgrcv (struct kern_ipc_perm *msq , struct
msg_msg *msg , struct task_struct *target , long type , int mode );
like yes, five whole arguments, she's high maintenance but she's worth it π«Ά
π ARGUMENTS π
msqβ the sysv ipc permission structure. the vibes-pass, if you will πmsgβ the message. the actual lil payload in question πtargetβ the target task. the one who's gonna be on the receiving end π―typeβ the type of message that's being requested πmodeβ the operation flags. all the little switches and dials βοΈ
π¦ DESCRIPTION π¦
so here's the tea β β this hook does a permission check before a message, msg, gets removed from the message queue. it's the bouncer at the club door, except the club is a sysv ipc message queue and the door is security π
and ngl, the most iconic part: the target task structure contains a pointer to the process that will be receiving the message. and like, key detail bestie β that process is not equal to the current process when inline receives are being performed π so don't just assume "current equals target," because it does NOT always, and that's the whole plot twist π
π₯ RETURN π₯
returns 0 if permission is granted. that's it, that's the whole mood β 0 means slay, you're in β¨π
π SEE ALSO π
okay so this is the part where I hold your hand, because the SEE ALSO list is unhinged in the best way possible. it's giving "the entire LSM family reunion." π§
Kernel file ./security/security.c
lsm_file_alloc(9), lsm_backing_file_alloc(9), lsm_blob_alloc(9), lsm_cred_alloc(9), lsm_inode_alloc(9), lsm_task_alloc(9), lsm_ipc_alloc(9), lsm_key_alloc(9), lsm_msg_msg_alloc(9), lsm_bdev_alloc(9), lsm_bpf_map_alloc(9), lsm_bpf_prog_alloc(9), lsm_bpf_token_alloc(9), lsm_superblock_alloc(9), lsm_fill_user_ctx(9), security_binder_set_context_mgr(9), security_binder_transaction(9), security_binder_transfer_binder(9), security_binder_transfer_file(9), security_ptrace_access_check(9), security_ptrace_traceme(9), security_capget(9), security_capset(9), security_capable(9), security_quotactl(9), security_quota_on(9), security_syslog(9), security_settime64(9), security_vm_enough_memory_mm(9), security_bprm_creds_for_exec(9), security_bprm_creds_from_file(9), security_bprm_check(9), security_bprm_committing_creds(9), security_bprm_committed_creds(9), security_fs_context_submount(9), security_fs_context_dup(9), security_fs_context_parse_param(9), security_sb_alloc(9), security_sb_delete(9), security_sb_free(9), security_free_mnt_opts(9), security_sb_eat_lsm_opts(9), security_sb_mnt_opts_compat(9), security_sb_remount(9), security_sb_kern_mount(9), security_sb_show_options(9), security_sb_statfs(9), security_sb_mount(9), security_sb_umount(9), security_sb_pivotroot(9), security_sb_set_mnt_opts(9), security_sb_clone_mnt_opts(9), security_move_mount(9), security_path_notify(9), security_inode_alloc(9), security_inode_free(9), security_dentry_init_security(9), security_dentry_create_files_as(9), security_inode_init_security(9), security_inode_init_security_anon(9), security_path_mknod(9), security_path_post_mknod(9), security_path_mkdir(9), security_path_rmdir(9), security_path_unlink(9), security_path_symlink(9), security_path_link(9), security_path_rename(9), security_path_truncate(9), security_path_chmod(9), security_path_chown(9), security_path_chroot(9), security_inode_create(9), security_inode_post_create_tmpfile(9), security_inode_link(9), security_inode_unlink(9), security_inode_symlink(9), security_inode_mkdir(9), security_inode_rmdir(9), security_inode_mknod(9), security_inode_rename(9), security_inode_readlink(9), security_inode_follow_link(9), security_inode_permission(9), security_inode_setattr(9), security_inode_post_setattr(9), security_inode_getattr(9), security_inode_setxattr(9), security_inode_set_acl(9), security_inode_post_set_acl(9), security_inode_get_acl(9), security_inode_remove_acl(9), security_inode_post_remove_acl(9), security_inode_post_setxattr(9), security_inode_getxattr(9), security_inode_listxattr(9), security_inode_removexattr(9), security_inode_post_removexattr(9), security_inode_file_setattr(9), security_inode_file_getattr(9), security_inode_need_killpriv(9), security_inode_killpriv(9), security_inode_getsecurity(9), security_inode_setsecurity(9), security_inode_listsecurity(9), security_inode_getlsmprop(9), security_inode_copy_up(9), security_inode_copy_up_xattr(9), security_inode_setintegrity(9), security_kernfs_init_security(9), security_file_permission(9), security_file_alloc(9), security_file_release(9), security_file_free(9), security_backing_file_alloc(9), security_backing_file_free(9), security_file_ioctl(9), security_file_ioctl_compat(9), security_mmap_file(9), security_mmap_backing_file(9), security_mmap_addr(9), security_file_mprotect(9), security_file_lock(9), security_file_fcntl(9), security_file_set_fowner(9), security_file_send_sigiotask(9), security_file_receive(9), security_file_open(9), security_file_post_open(9), security_file_truncate(9), security_task_alloc(9), security_task_free(9), security_cred_alloc_blank(9), security_cred_free(9), security_prepare_creds(9), security_transfer_creds(9), security_cred_getsecid(9), security_cred_getlsmprop(9), security_kernel_act_as(9), security_kernel_create_files_as(9), security_kernel_module_request(9), security_kernel_read_file(9), security_kernel_post_read_file(9), security_kernel_load_data(9), security_kernel_post_load_data(9), security_task_fix_setuid(9), security_task_fix_setgid(9), security_task_fix_setgroups(9), security_task_setpgid(9), security_task_getpgid(9), security_task_getsid(9), security_current_getlsmprop_subj(9), security_task_getlsmprop_obj(9), security_task_setnice(9), security_task_setioprio(9), security_task_getioprio(9), security_task_prlimit(9), security_task_setrlimit(9), security_task_setscheduler(9), security_task_getscheduler(9), security_task_movememory(9), security_task_kill(9), security_task_prctl(9), security_task_to_inode(9), security_create_user_ns(9), security_ipc_permission(9), security_ipc_getlsmprop(9), security_msg_msg_alloc(9), security_msg_msg_free(9), security_msg_queue_alloc(9), security_msg_queue_free(9), security_msg_queue_associate(9), security_msg_queue_msgctl(9), security_msg_queue_msgsnd(9), security_shm_alloc(9), security_shm_free(9), security_shm_associate(9), security_shm_shmctl(9), security_shm_shmat(9), security_sem_alloc(9), security_sem_free(9), security_sem_associate(9), security_sem_semctl(9), security_sem_semop(9), security_d_instantiate(9), security_getselfattr(9), security_setselfattr(9), security_getprocattr(9), security_setprocattr(9), security_ismaclabel(9), security_secid_to_secctx(9), security_lsmprop_to_secctx(9), security_secctx_to_secid(9), security_release_secctx(9), security_inode_invalidate_secctx(9), security_inode_notifysecctx(9), security_inode_setsecctx(9), security_inode_getsecctx(9), security_post_notification(9), security_watch_key(9), security_netlink_send(9), security_unix_stream_connect(9), security_unix_may_send(9), security_socket_create(9), security_socket_post_create(9), security_socket_socketpair(9), security_socket_bind(9), security_socket_connect(9), security_socket_listen(9), security_socket_accept(9), security_socket_sendmsg(9), security_socket_recvmsg(9), security_socket_getsockname(9), security_socket_getpeername(9), security_socket_getsockopt(9), security_socket_setsockopt(9), security_socket_shutdown(9), security_sock_rcv_skb(9), security_socket_getpeersec_stream(9), security_socket_getpeersec_dgram(9), lsm_sock_alloc(9), security_sk_alloc(9), security_sk_free(9), security_sk_clone(9), security_sk_classify_flow(9), security_req_classify_flow(9), security_sock_graft(9), security_inet_conn_request(9), security_inet_csk_clone(9), security_inet_conn_established(9), security_secmark_relabel_packet(9), security_secmark_refcount_inc(9), security_secmark_refcount_dec(9), security_tun_dev_alloc_security(9), security_tun_dev_free_security(9), security_tun_dev_create(9), security_tun_dev_attach_queue(9), security_tun_dev_attach(9), security_tun_dev_open(9), security_sctp_assoc_request(9), security_sctp_bind_connect(9), security_sctp_sk_clone(9), security_sctp_assoc_established(9), security_mptcp_add_subflow(9), security_unix_find(9), security_ib_pkey_access(9), security_ib_endport_manage_subnet(9), security_ib_alloc_security(9), security_ib_free_security(9), security_xfrm_policy_alloc(9), security_xfrm_policy_clone(9), security_xfrm_policy_free(9), security_xfrm_policy_delete(9), security_xfrm_state_alloc(9), security_xfrm_state_alloc_acquire(9), security_xfrm_state_delete(9), security_xfrm_state_free(9), security_xfrm_policy_lookup(9), security_xfrm_state_pol_flow_match(9), security_xfrm_decode_session(9), security_key_alloc(9), security_key_free(9), security_key_permission(9), security_key_getsecurity(9), security_key_post_create_or_update(9), security_audit_rule_init(9), security_audit_rule_known(9), security_audit_rule_free(9), security_audit_rule_match(9), security_bpf(9), security_bpf_map(9), security_bpf_prog(9), security_bpf_map_create(9), security_bpf_prog_load(9), security_bpf_token_create(9), security_bpf_token_cmd(9), security_bpf_token_capable(9), security_bpf_map_free(9), security_bpf_prog_free(9), security_bpf_token_free(9), security_locked_down(9), security_bdev_alloc(9), security_bdev_free(9), security_bdev_setintegrity(9), security_perf_event_open(9), security_perf_event_alloc(9), security_perf_event_free(9), security_perf_event_read(9), security_perf_event_write(9), security_uring_override_creds(9), security_uring_sqpoll(9), security_uring_cmd(9), security_uring_allowed(9), security_initramfs_populated(9)
like I said. family reunion. every single one of them showed up, and honestly? respect. ππ«Ά
and that's the page, bestie!! this one came from ./security and it's dated October 2026 β so yeah, mark your calendar, she's from the future β¨π¦ ily, go check your permissions π
π¦ 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