/Linux-v5.15/ipc/ |
D | util.h | 108 int (*associate)(struct kern_ipc_perm *, int); 109 int (*more_checks)(struct kern_ipc_perm *, struct ipc_params *); 133 int ipc_addid(struct ipc_ids *, struct kern_ipc_perm *, int); 136 void ipc_rmid(struct ipc_ids *, struct kern_ipc_perm *); 139 void ipc_set_key_private(struct ipc_ids *, struct kern_ipc_perm *); 142 int ipcperms(struct ipc_namespace *ns, struct kern_ipc_perm *ipcp, short flg); 173 bool ipc_rcu_getref(struct kern_ipc_perm *ptr); 174 void ipc_rcu_putref(struct kern_ipc_perm *ptr, 177 struct kern_ipc_perm *ipc_obtain_object_idr(struct ipc_ids *ids, int id); 179 void kernel_to_ipc64_perm(struct kern_ipc_perm *in, struct ipc64_perm *out); [all …]
|
D | util.c | 102 .head_offset = offsetof(struct kern_ipc_perm, khtnode), 103 .key_offset = offsetof(struct kern_ipc_perm, key), 104 .key_len = sizeof_field(struct kern_ipc_perm, key), 172 static struct kern_ipc_perm *ipc_findkey(struct ipc_ids *ids, key_t key) in ipc_findkey() 174 struct kern_ipc_perm *ipcp; in ipc_findkey() 202 static inline int ipc_idr_alloc(struct ipc_ids *ids, struct kern_ipc_perm *new) in ipc_idr_alloc() 278 int ipc_addid(struct ipc_ids *ids, struct kern_ipc_perm *new, int limit) in ipc_addid() 366 struct kern_ipc_perm *ipcp, in ipc_check_perms() 400 struct kern_ipc_perm *ipcp; in ipcget_public() 447 static void ipc_kht_remove(struct ipc_ids *ids, struct kern_ipc_perm *ipcp) in ipc_kht_remove() [all …]
|
D | namespace.c | 96 void (*free)(struct ipc_namespace *, struct kern_ipc_perm *)) in free_ipcs() argument 98 struct kern_ipc_perm *perm; in free_ipcs()
|
D | shm.c | 54 struct kern_ipc_perm shm_perm; 113 static void do_shm_rmid(struct ipc_namespace *ns, struct kern_ipc_perm *ipcp) in do_shm_rmid() 158 struct kern_ipc_perm *ipcp = ipc_obtain_object_idr(&shm_ids(ns), id); in shm_obtain_object() 168 struct kern_ipc_perm *ipcp = ipc_obtain_object_check(&shm_ids(ns), id); in shm_obtain_object_check() 182 struct kern_ipc_perm *ipcp; in shm_lock() 220 struct kern_ipc_perm *ptr = container_of(head, struct kern_ipc_perm, in shm_rcu_free() 355 struct kern_ipc_perm *ipcp = p; in shm_try_destroy_orphaned() 714 static int shm_more_checks(struct kern_ipc_perm *ipcp, struct ipc_params *params) in shm_more_checks() 871 struct kern_ipc_perm *ipc; in shm_get_stat() 893 struct kern_ipc_perm *ipcp; in shmctl_down() [all …]
|
D | msg.c | 49 struct kern_ipc_perm q_perm; 103 struct kern_ipc_perm *ipcp = ipc_obtain_object_idr(&msg_ids(ns), id); in msq_obtain_object() 114 struct kern_ipc_perm *ipcp = ipc_obtain_object_check(&msg_ids(ns), id); in msq_obtain_object_check() 129 struct kern_ipc_perm *p = container_of(head, struct kern_ipc_perm, rcu); in msg_rcu_free() 272 static void freeque(struct ipc_namespace *ns, struct kern_ipc_perm *ipcp) in freeque() 403 struct kern_ipc_perm *ipcp; in msgctl_down() 1325 struct kern_ipc_perm *ipcp = it; in sysvipc_msg_proc_show()
|
D | sem.c | 115 struct kern_ipc_perm sem_perm; /* permissions .. see ipc.h */ 172 static void freeary(struct ipc_namespace *, struct kern_ipc_perm *); 325 struct kern_ipc_perm *p = container_of(head, struct kern_ipc_perm, rcu); in sem_rcu_free() 480 struct kern_ipc_perm *ipcp = ipc_obtain_object_idr(&sem_ids(ns), id); in sem_obtain_object() 491 struct kern_ipc_perm *ipcp = ipc_obtain_object_check(&sem_ids(ns), id); in sem_obtain_object_check() 591 static int sem_more_checks(struct kern_ipc_perm *ipcp, struct ipc_params *params) in sem_more_checks() 1144 static void freeary(struct ipc_namespace *ns, struct kern_ipc_perm *ipcp) in freeary() 1608 struct kern_ipc_perm *ipcp; in semctl_down() 2456 struct kern_ipc_perm *ipcp = it; in sysvipc_sem_proc_show()
|
/Linux-v5.15/include/linux/ |
D | security.h | 40 struct kern_ipc_perm; 437 int security_ipc_permission(struct kern_ipc_perm *ipcp, short flag); 438 void security_ipc_getsecid(struct kern_ipc_perm *ipcp, u32 *secid); 441 int security_msg_queue_alloc(struct kern_ipc_perm *msq); 442 void security_msg_queue_free(struct kern_ipc_perm *msq); 443 int security_msg_queue_associate(struct kern_ipc_perm *msq, int msqflg); 444 int security_msg_queue_msgctl(struct kern_ipc_perm *msq, int cmd); 445 int security_msg_queue_msgsnd(struct kern_ipc_perm *msq, 447 int security_msg_queue_msgrcv(struct kern_ipc_perm *msq, struct msg_msg *msg, 449 int security_shm_alloc(struct kern_ipc_perm *shp); [all …]
|
D | lsm_hook_defs.h | 228 LSM_HOOK(int, 0, ipc_permission, struct kern_ipc_perm *ipcp, short flag) 229 LSM_HOOK(void, LSM_RET_VOID, ipc_getsecid, struct kern_ipc_perm *ipcp, 233 LSM_HOOK(int, 0, msg_queue_alloc_security, struct kern_ipc_perm *perm) 235 struct kern_ipc_perm *perm) 236 LSM_HOOK(int, 0, msg_queue_associate, struct kern_ipc_perm *perm, int msqflg) 237 LSM_HOOK(int, 0, msg_queue_msgctl, struct kern_ipc_perm *perm, int cmd) 238 LSM_HOOK(int, 0, msg_queue_msgsnd, struct kern_ipc_perm *perm, 240 LSM_HOOK(int, 0, msg_queue_msgrcv, struct kern_ipc_perm *perm, 242 LSM_HOOK(int, 0, shm_alloc_security, struct kern_ipc_perm *perm) 243 LSM_HOOK(void, LSM_RET_VOID, shm_free_security, struct kern_ipc_perm *perm) [all …]
|
D | ipc.h | 12 struct kern_ipc_perm { struct
|
D | audit.h | 386 extern void __audit_ipc_obj(struct kern_ipc_perm *ipcp); 408 static inline void audit_ipc_obj(struct kern_ipc_perm *ipcp) in audit_ipc_obj() 602 static inline void audit_ipc_obj(struct kern_ipc_perm *ipcp) in audit_ipc_obj()
|
/Linux-v5.15/security/ |
D | security.c | 628 static int lsm_ipc_alloc(struct kern_ipc_perm *kip) in lsm_ipc_alloc() 1895 int security_ipc_permission(struct kern_ipc_perm *ipcp, short flag) in security_ipc_permission() 1900 void security_ipc_getsecid(struct kern_ipc_perm *ipcp, u32 *secid) in security_ipc_getsecid() 1925 int security_msg_queue_alloc(struct kern_ipc_perm *msq) in security_msg_queue_alloc() 1937 void security_msg_queue_free(struct kern_ipc_perm *msq) in security_msg_queue_free() 1944 int security_msg_queue_associate(struct kern_ipc_perm *msq, int msqflg) in security_msg_queue_associate() 1949 int security_msg_queue_msgctl(struct kern_ipc_perm *msq, int cmd) in security_msg_queue_msgctl() 1954 int security_msg_queue_msgsnd(struct kern_ipc_perm *msq, in security_msg_queue_msgsnd() 1960 int security_msg_queue_msgrcv(struct kern_ipc_perm *msq, struct msg_msg *msg, in security_msg_queue_msgrcv() 1966 int security_shm_alloc(struct kern_ipc_perm *shp) in security_shm_alloc() [all …]
|
/Linux-v5.15/Documentation/RCU/ |
D | arrayRCU.rst | 87 new = ipc_rcu_alloc(sizeof(struct kern_ipc_perm *)*newsize + 93 sizeof(struct kern_ipc_perm *)*size + 127 struct kern_ipc_perm* ipc_lock(struct ipc_ids* ids, int id) 129 struct kern_ipc_perm* out;
|
/Linux-v5.15/security/smack/ |
D | smack_lsm.c | 2906 static struct smack_known *smack_of_ipc(struct kern_ipc_perm *isp) in smack_of_ipc() 2919 static int smack_ipc_alloc_security(struct kern_ipc_perm *isp) in smack_ipc_alloc_security() 2934 static int smk_curacc_shm(struct kern_ipc_perm *isp, int access) in smk_curacc_shm() 2956 static int smack_shm_associate(struct kern_ipc_perm *isp, int shmflg) in smack_shm_associate() 2971 static int smack_shm_shmctl(struct kern_ipc_perm *isp, int cmd) in smack_shm_shmctl() 3007 static int smack_shm_shmat(struct kern_ipc_perm *isp, char __user *shmaddr, in smack_shm_shmat() 3023 static int smk_curacc_sem(struct kern_ipc_perm *isp, int access) in smk_curacc_sem() 3045 static int smack_sem_associate(struct kern_ipc_perm *isp, int semflg) in smack_sem_associate() 3060 static int smack_sem_semctl(struct kern_ipc_perm *isp, int cmd) in smack_sem_semctl() 3105 static int smack_sem_semop(struct kern_ipc_perm *isp, struct sembuf *sops, in smack_sem_semop() [all …]
|
D | smack.h | 355 static inline struct smack_known **smack_ipc(const struct kern_ipc_perm *ipc) in smack_ipc()
|
/Linux-v5.15/security/selinux/include/ |
D | objsec.h | 176 const struct kern_ipc_perm *ipc) in selinux_ipc()
|
/Linux-v5.15/Documentation/security/ |
D | lsm.rst | 82 security fields were added to :c:type:`struct kern_ipc_perm 83 <kern_ipc_perm>` and :c:type:`struct msg_msg
|
/Linux-v5.15/security/selinux/ |
D | hooks.c | 6079 static int ipc_has_perm(struct kern_ipc_perm *ipc_perms, in ipc_has_perm() 6106 static int selinux_msg_queue_alloc_security(struct kern_ipc_perm *msq) in selinux_msg_queue_alloc_security() 6125 static int selinux_msg_queue_associate(struct kern_ipc_perm *msq, int msqflg) in selinux_msg_queue_associate() 6141 static int selinux_msg_queue_msgctl(struct kern_ipc_perm *msq, int cmd) in selinux_msg_queue_msgctl() 6172 static int selinux_msg_queue_msgsnd(struct kern_ipc_perm *msq, struct msg_msg *msg, int msqflg) in selinux_msg_queue_msgsnd() 6218 static int selinux_msg_queue_msgrcv(struct kern_ipc_perm *msq, struct msg_msg *msg, in selinux_msg_queue_msgrcv() 6245 static int selinux_shm_alloc_security(struct kern_ipc_perm *shp) in selinux_shm_alloc_security() 6264 static int selinux_shm_associate(struct kern_ipc_perm *shp, int shmflg) in selinux_shm_associate() 6281 static int selinux_shm_shmctl(struct kern_ipc_perm *shp, int cmd) in selinux_shm_shmctl() 6316 static int selinux_shm_shmat(struct kern_ipc_perm *shp, in selinux_shm_shmat() [all …]
|
/Linux-v5.15/kernel/ |
D | auditsc.c | 2313 void __audit_ipc_obj(struct kern_ipc_perm *ipcp) in __audit_ipc_obj()
|