/linux-master/ipc/ |
H A D | util.c | 174 struct kern_ipc_perm *ipcp; local 176 ipcp = rhashtable_lookup_fast(&ids->key_ht, &key, 178 if (!ipcp) 182 ipc_lock_object(ipcp); 183 return ipcp; 353 * @ipcp: ipc permission set 363 * It is called with ipc_ids.rwsem and ipcp->lock held. 366 struct kern_ipc_perm *ipcp, 372 if (ipcperms(ns, ipcp, params->flg)) 375 err = ops->associate(ipcp, param 365 ipc_check_perms(struct ipc_namespace *ns, struct kern_ipc_perm *ipcp, const struct ipc_ops *ops, struct ipc_params *params) argument 400 struct kern_ipc_perm *ipcp; local 447 ipc_kht_remove(struct ipc_ids *ids, struct kern_ipc_perm *ipcp) argument 497 ipc_rmid(struct ipc_ids *ids, struct kern_ipc_perm *ipcp) argument 522 ipc_set_key_private(struct ipc_ids *ids, struct kern_ipc_perm *ipcp) argument 553 ipcperms(struct ipc_namespace *ns, struct kern_ipc_perm *ipcp, short flag) argument 728 struct kern_ipc_perm *ipcp; local [all...] |
H A D | shm.c | 123 static void do_shm_rmid(struct ipc_namespace *ns, struct kern_ipc_perm *ipcp) argument 127 shp = container_of(ipcp, struct shmid_kernel, shm_perm); 169 struct kern_ipc_perm *ipcp = ipc_obtain_object_idr(&shm_ids(ns), id); local 171 if (IS_ERR(ipcp)) 172 return ERR_CAST(ipcp); 174 return container_of(ipcp, struct shmid_kernel, shm_perm); 179 struct kern_ipc_perm *ipcp = ipc_obtain_object_check(&shm_ids(ns), id); local 181 if (IS_ERR(ipcp)) 182 return ERR_CAST(ipcp); 184 return container_of(ipcp, struc 193 struct kern_ipc_perm *ipcp; local 223 shm_lock_by_ptr(struct shmid_kernel *ipcp) argument 412 struct kern_ipc_perm *ipcp = p; local 816 shm_more_checks(struct kern_ipc_perm *ipcp, struct ipc_params *params) argument 995 struct kern_ipc_perm *ipcp; local 1843 struct kern_ipc_perm *ipcp = it; local [all...] |
H A D | msg.c | 104 struct kern_ipc_perm *ipcp = ipc_obtain_object_idr(&msg_ids(ns), id); local 106 if (IS_ERR(ipcp)) 107 return ERR_CAST(ipcp); 109 return container_of(ipcp, struct msg_queue, q_perm); 115 struct kern_ipc_perm *ipcp = ipc_obtain_object_check(&msg_ids(ns), id); local 117 if (IS_ERR(ipcp)) 118 return ERR_CAST(ipcp); 120 return container_of(ipcp, struct msg_queue, q_perm); 273 static void freeque(struct ipc_namespace *ns, struct kern_ipc_perm *ipcp) 278 struct msg_queue *msq = container_of(ipcp, struc 404 struct kern_ipc_perm *ipcp; local 1345 struct kern_ipc_perm *ipcp = it; local [all...] |
H A D | util.h | 140 /* must be called with ipcp locked */ 141 int ipcperms(struct ipc_namespace *ns, struct kern_ipc_perm *ipcp, short flg); 203 static inline int ipc_checkid(struct kern_ipc_perm *ipcp, int id) argument 205 return ipcid_to_seqx(id) != ipcp->seq;
|
H A D | sem.c | 480 struct kern_ipc_perm *ipcp = ipc_obtain_object_idr(&sem_ids(ns), id); local 482 if (IS_ERR(ipcp)) 483 return ERR_CAST(ipcp); 485 return container_of(ipcp, struct sem_array, sem_perm); 491 struct kern_ipc_perm *ipcp = ipc_obtain_object_check(&sem_ids(ns), id); local 493 if (IS_ERR(ipcp)) 494 return ERR_CAST(ipcp); 496 return container_of(ipcp, struct sem_array, sem_perm); 589 * Called with sem_ids.rwsem and ipcp locked. 591 static int sem_more_checks(struct kern_ipc_perm *ipcp, struc argument 1143 freeary(struct ipc_namespace *ns, struct kern_ipc_perm *ipcp) argument 1606 struct kern_ipc_perm *ipcp; local 2452 struct kern_ipc_perm *ipcp = it; local [all...] |
/linux-master/include/linux/ |
H A D | audit.h | 404 extern void __audit_ipc_obj(struct kern_ipc_perm *ipcp); 427 static inline void audit_ipc_obj(struct kern_ipc_perm *ipcp) argument 430 __audit_ipc_obj(ipcp); 631 static inline void audit_ipc_obj(struct kern_ipc_perm *ipcp) argument
|
H A D | security.h | 469 int security_ipc_permission(struct kern_ipc_perm *ipcp, short flag); 470 void security_ipc_getsecid(struct kern_ipc_perm *ipcp, u32 *secid); 1302 static inline int security_ipc_permission(struct kern_ipc_perm *ipcp, argument 1308 static inline void security_ipc_getsecid(struct kern_ipc_perm *ipcp, u32 *secid) argument
|
H A D | lsm_hook_defs.h | 253 LSM_HOOK(int, 0, ipc_permission, struct kern_ipc_perm *ipcp, short flag) 254 LSM_HOOK(void, LSM_RET_VOID, ipc_getsecid, struct kern_ipc_perm *ipcp,
|
/linux-master/kernel/ |
H A D | auditsc.c | 2624 * @ipcp: ipc permissions 2627 void __audit_ipc_obj(struct kern_ipc_perm *ipcp) argument 2631 context->ipc.uid = ipcp->uid; 2632 context->ipc.gid = ipcp->gid; 2633 context->ipc.mode = ipcp->mode; 2635 security_ipc_getsecid(ipcp, &context->ipc.osid);
|
/linux-master/security/ |
H A D | security.c | 3574 * @ipcp: ipc permission structure 3581 int security_ipc_permission(struct kern_ipc_perm *ipcp, short flag) argument 3583 return call_int_hook(ipc_permission, ipcp, flag); 3588 * @ipcp: ipc permission structure 3594 void security_ipc_getsecid(struct kern_ipc_perm *ipcp, u32 *secid) argument 3597 call_void_hook(ipc_getsecid, ipcp, secid);
|
/linux-master/security/selinux/ |
H A D | hooks.c | 6320 static int selinux_ipc_permission(struct kern_ipc_perm *ipcp, short flag) argument 6333 return ipc_has_perm(ipcp, av); 6336 static void selinux_ipc_getsecid(struct kern_ipc_perm *ipcp, u32 *secid) argument 6338 struct ipc_security_struct *isec = selinux_ipc(ipcp);
|