ipc_check_perms(9)
π ipc_check_perms β check security and permissions for an ipc object
okay so bestie, this is a page from the Kernel API Manual (yes, the kernel has lore too) and it's literally about double-checking that you're allowed to touch an ipc object. security girl summer π
β¨ SYNOPSIS β¨
int ipc_check_perms (struct ipc_namespace *ns , struct kern_ipc_perm
*ipcp , const struct ipc_ops *ops , struct ipc_params *params );
like, that's the whole vibe. one function, four args, returns an int. slay.
π«Ά ARGUMENTS π«Ά
nsβ the ipc namespace, bestie. it's giving "which world are we in".ipcpβ the ipc permission set. this is the whole receipts folder for who's allowed what πopsβ the actual security routine to call. like, the real one doing the work, we're just the messenger πparamsβ its parameters. you know, the little bag of stuffopsneeds. π
πΈ DESCRIPTION πΈ
so here's the tea: this routine gets called by sys_msgget, sys_semget and sys_shmget β but only when the key is not IPC_PRIVATE and that key already exists in the ds IDR. like it's the "oh you think you know this object already? prove it" checkpoint π₯
On success, the ipc id is returned. periodt. that's the win condition β¨
and just so we're clear: it is called withipc_ids.rwsemandipcp->lockheld. do not show up without your locks, that's not the vibe π
π¦ SEE ALSO π¦
Kernel file ./ipc/util.c β and honestly the whole friend group:
ipc_init(9)ipc_init_ids(9)ipc_init_proc_interface(9)ipc_findkey(9)ipc_addid(9)ipcget_new(9)ipcget_public(9)ipc_kht_remove(9)ipc_search_maxidx(9)ipc_rmid(9)ipc_set_key_private(9)ipcperms(9)kernel_to_ipc64_perm(9)ipc64_perm_to_ipc_perm(9)ipc_obtain_object_idr(9)ipc_obtain_object_check(9)ipcget(9)ipc_update_perm(9)ipcctl_obtain_check(9)ipc_parse_version(9)sysvipc_find_ipc(9)
okay that's the whole page!! mwah π this one lives in ./ipc and it's dated October 2026, so likeβ¦ future icon behavior tbh πβ go check your permissions bestie, iykyk π
π¦ 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