/Linux-v5.4/ipc/ |
D | util.c | 173 struct kern_ipc_perm *ipcp; in ipc_findkey() local 175 ipcp = rhashtable_lookup_fast(&ids->key_ht, &key, in ipc_findkey() 177 if (!ipcp) in ipc_findkey() 181 ipc_lock_object(ipcp); in ipc_findkey() 182 return ipcp; in ipc_findkey() 365 struct kern_ipc_perm *ipcp, in ipc_check_perms() argument 371 if (ipcperms(ns, ipcp, params->flg)) in ipc_check_perms() 374 err = ops->associate(ipcp, params->flg); in ipc_check_perms() 376 err = ipcp->id; in ipc_check_perms() 399 struct kern_ipc_perm *ipcp; in ipcget_public() local [all …]
|
D | shm.c | 113 static void do_shm_rmid(struct ipc_namespace *ns, struct kern_ipc_perm *ipcp) in do_shm_rmid() argument 117 shp = container_of(ipcp, struct shmid_kernel, shm_perm); in do_shm_rmid() 158 struct kern_ipc_perm *ipcp = ipc_obtain_object_idr(&shm_ids(ns), id); in shm_obtain_object() local 160 if (IS_ERR(ipcp)) in shm_obtain_object() 161 return ERR_CAST(ipcp); in shm_obtain_object() 163 return container_of(ipcp, struct shmid_kernel, shm_perm); in shm_obtain_object() 168 struct kern_ipc_perm *ipcp = ipc_obtain_object_check(&shm_ids(ns), id); in shm_obtain_object_check() local 170 if (IS_ERR(ipcp)) in shm_obtain_object_check() 171 return ERR_CAST(ipcp); in shm_obtain_object_check() 173 return container_of(ipcp, struct shmid_kernel, shm_perm); in shm_obtain_object_check() [all …]
|
D | msg.c | 93 struct kern_ipc_perm *ipcp = ipc_obtain_object_idr(&msg_ids(ns), id); in msq_obtain_object() local 95 if (IS_ERR(ipcp)) in msq_obtain_object() 96 return ERR_CAST(ipcp); in msq_obtain_object() 98 return container_of(ipcp, struct msg_queue, q_perm); in msq_obtain_object() 104 struct kern_ipc_perm *ipcp = ipc_obtain_object_check(&msg_ids(ns), id); in msq_obtain_object_check() local 106 if (IS_ERR(ipcp)) in msq_obtain_object_check() 107 return ERR_CAST(ipcp); in msq_obtain_object_check() 109 return container_of(ipcp, struct msg_queue, q_perm); in msq_obtain_object_check() 253 static void freeque(struct ipc_namespace *ns, struct kern_ipc_perm *ipcp) in freeque() argument 256 struct msg_queue *msq = container_of(ipcp, struct msg_queue, q_perm); in freeque() [all …]
|
D | sem.c | 458 struct kern_ipc_perm *ipcp = ipc_obtain_object_idr(&sem_ids(ns), id); in sem_obtain_object() local 460 if (IS_ERR(ipcp)) in sem_obtain_object() 461 return ERR_CAST(ipcp); in sem_obtain_object() 463 return container_of(ipcp, struct sem_array, sem_perm); in sem_obtain_object() 469 struct kern_ipc_perm *ipcp = ipc_obtain_object_check(&sem_ids(ns), id); in sem_obtain_object_check() local 471 if (IS_ERR(ipcp)) in sem_obtain_object_check() 472 return ERR_CAST(ipcp); in sem_obtain_object_check() 474 return container_of(ipcp, struct sem_array, sem_perm); in sem_obtain_object_check() 569 static inline int sem_more_checks(struct kern_ipc_perm *ipcp, in sem_more_checks() argument 574 sma = container_of(ipcp, struct sem_array, sem_perm); in sem_more_checks() [all …]
|
D | util.h | 142 int ipcperms(struct ipc_namespace *ns, struct kern_ipc_perm *ipcp, short flg); 201 static inline int ipc_checkid(struct kern_ipc_perm *ipcp, int id) in ipc_checkid() argument 203 return ipcid_to_seqx(id) != ipcp->seq; in ipc_checkid()
|
/Linux-v5.4/include/linux/ |
D | audit.h | 362 extern void __audit_ipc_obj(struct kern_ipc_perm *ipcp); 382 static inline void audit_ipc_obj(struct kern_ipc_perm *ipcp) in audit_ipc_obj() argument 385 __audit_ipc_obj(ipcp); in audit_ipc_obj() 576 static inline void audit_ipc_obj(struct kern_ipc_perm *ipcp) in audit_ipc_obj() argument
|
D | security.h | 408 int security_ipc_permission(struct kern_ipc_perm *ipcp, short flag); 409 void security_ipc_getsecid(struct kern_ipc_perm *ipcp, u32 *secid); 1109 static inline int security_ipc_permission(struct kern_ipc_perm *ipcp, in security_ipc_permission() argument 1115 static inline void security_ipc_getsecid(struct kern_ipc_perm *ipcp, u32 *secid) in security_ipc_getsecid() argument
|
D | lsm_hooks.h | 1656 int (*ipc_permission)(struct kern_ipc_perm *ipcp, short flag); 1657 void (*ipc_getsecid)(struct kern_ipc_perm *ipcp, u32 *secid);
|
/Linux-v5.4/kernel/ |
D | auditsc.c | 2273 void __audit_ipc_obj(struct kern_ipc_perm *ipcp) in __audit_ipc_obj() argument 2276 context->ipc.uid = ipcp->uid; in __audit_ipc_obj() 2277 context->ipc.gid = ipcp->gid; in __audit_ipc_obj() 2278 context->ipc.mode = ipcp->mode; in __audit_ipc_obj() 2280 security_ipc_getsecid(ipcp, &context->ipc.osid); in __audit_ipc_obj()
|
/Linux-v5.4/security/ |
D | security.c | 1730 int security_ipc_permission(struct kern_ipc_perm *ipcp, short flag) in security_ipc_permission() argument 1732 return call_int_hook(ipc_permission, 0, ipcp, flag); in security_ipc_permission() 1735 void security_ipc_getsecid(struct kern_ipc_perm *ipcp, u32 *secid) in security_ipc_getsecid() argument 1738 call_void_hook(ipc_getsecid, ipcp, secid); in security_ipc_getsecid()
|
/Linux-v5.4/security/selinux/ |
D | hooks.c | 6234 static int selinux_ipc_permission(struct kern_ipc_perm *ipcp, short flag) in selinux_ipc_permission() argument 6247 return ipc_has_perm(ipcp, av); in selinux_ipc_permission() 6250 static void selinux_ipc_getsecid(struct kern_ipc_perm *ipcp, u32 *secid) in selinux_ipc_getsecid() argument 6252 struct ipc_security_struct *isec = selinux_ipc(ipcp); in selinux_ipc_getsecid()
|