smack_mmap_file(9)
π smack_mmap_file(9) β like, the Kernel API Manual era π
okay bestie, buckle up, we're deep in the security/smack girlies now π¦ this one's a little function from the Kernel API Manual and she's lowkey iconic. not me reading a manpage for fun. anywayβ
β¨ NAME β¨
smack_mmap_file β check permissions for a mmap operation. fr fr that's the whole vibe check: does this mapping get the green light or not π
πΈ SYNOPSIS πΈ
int smack_mmap_file (struct file *file , unsigned long reqprot ,
unsigned long prot , unsigned long flags );
like, yeah, that's the signature. copy it exactly, don't be out here inventing parameters π
π ARGUMENTS π
fileβ contains the file structure for file to map (and yes she may be NULL, more on that in a sec). πreqprotβ contains the protection requested by the application. like what the app wants.protβ contains the protection that will be applied by the kernel. what's actually happening, iykyk.flagsβ contains the operational flags. the little extras. β
π DESCRIPTION π
so the tea is: the file may be NULL, e.g. if mapping anonymous memory. meaning sometimes there's literally no file behind it and that's fine, that's the whole point π«Ά
Return 0 if permission is granted. that's it. zero means slay, you're in. πβ¨
π¦ SEE ALSO π¦
Kernel file ./security/smack/smack_lsm.c β and okay she has a lot of friends, so here's the full squad, no cap, everyone gets named:
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_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_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, that's the whole group chat. everyone showed up. π
bestie reminder:filemay legit beNULL(anonymous memory, remember?) so don't go dereferencing it without checking. that's the only real trap here. π
and that's the page!! π she lives in ./security/smack, dated October 2026 β main character energy, periodt. go read the other smack pages, ily, bye πβ¨π§
π¦ 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