ipcp 362 include/linux/audit.h extern void __audit_ipc_obj(struct kern_ipc_perm *ipcp); ipcp 382 include/linux/audit.h static inline void audit_ipc_obj(struct kern_ipc_perm *ipcp) ipcp 385 include/linux/audit.h __audit_ipc_obj(ipcp); ipcp 576 include/linux/audit.h static inline void audit_ipc_obj(struct kern_ipc_perm *ipcp) ipcp 1656 include/linux/lsm_hooks.h int (*ipc_permission)(struct kern_ipc_perm *ipcp, short flag); ipcp 1657 include/linux/lsm_hooks.h void (*ipc_getsecid)(struct kern_ipc_perm *ipcp, u32 *secid); ipcp 410 include/linux/security.h int security_ipc_permission(struct kern_ipc_perm *ipcp, short flag); ipcp 411 include/linux/security.h void security_ipc_getsecid(struct kern_ipc_perm *ipcp, u32 *secid); ipcp 1111 include/linux/security.h static inline int security_ipc_permission(struct kern_ipc_perm *ipcp, ipcp 1117 include/linux/security.h static inline void security_ipc_getsecid(struct kern_ipc_perm *ipcp, u32 *secid) ipcp 93 ipc/msg.c struct kern_ipc_perm *ipcp = ipc_obtain_object_idr(&msg_ids(ns), id); ipcp 95 ipc/msg.c if (IS_ERR(ipcp)) ipcp 96 ipc/msg.c return ERR_CAST(ipcp); ipcp 98 ipc/msg.c return container_of(ipcp, struct msg_queue, q_perm); ipcp 104 ipc/msg.c struct kern_ipc_perm *ipcp = ipc_obtain_object_check(&msg_ids(ns), id); ipcp 106 ipc/msg.c if (IS_ERR(ipcp)) ipcp 107 ipc/msg.c return ERR_CAST(ipcp); ipcp 109 ipc/msg.c return container_of(ipcp, struct msg_queue, q_perm); ipcp 253 ipc/msg.c static void freeque(struct ipc_namespace *ns, struct kern_ipc_perm *ipcp) ipcp 256 ipc/msg.c struct msg_queue *msq = container_of(ipcp, struct msg_queue, q_perm); ipcp 382 ipc/msg.c struct kern_ipc_perm *ipcp; ipcp 389 ipc/msg.c ipcp = ipcctl_obtain_check(ns, &msg_ids(ns), msqid, cmd, ipcp 391 ipc/msg.c if (IS_ERR(ipcp)) { ipcp 392 ipc/msg.c err = PTR_ERR(ipcp); ipcp 396 ipc/msg.c msq = container_of(ipcp, struct msg_queue, q_perm); ipcp 406 ipc/msg.c freeque(ns, ipcp); ipcp 419 ipc/msg.c err = ipc_update_perm(perm, ipcp); ipcp 1292 ipc/msg.c struct kern_ipc_perm *ipcp = it; ipcp 1293 ipc/msg.c struct msg_queue *msq = container_of(ipcp, struct msg_queue, q_perm); ipcp 458 ipc/sem.c struct kern_ipc_perm *ipcp = ipc_obtain_object_idr(&sem_ids(ns), id); ipcp 460 ipc/sem.c if (IS_ERR(ipcp)) ipcp 461 ipc/sem.c return ERR_CAST(ipcp); ipcp 463 ipc/sem.c return container_of(ipcp, struct sem_array, sem_perm); ipcp 469 ipc/sem.c struct kern_ipc_perm *ipcp = ipc_obtain_object_check(&sem_ids(ns), id); ipcp 471 ipc/sem.c if (IS_ERR(ipcp)) ipcp 472 ipc/sem.c return ERR_CAST(ipcp); ipcp 474 ipc/sem.c return container_of(ipcp, struct sem_array, sem_perm); ipcp 569 ipc/sem.c static inline int sem_more_checks(struct kern_ipc_perm *ipcp, ipcp 574 ipc/sem.c sma = container_of(ipcp, struct sem_array, sem_perm); ipcp 1124 ipc/sem.c static void freeary(struct ipc_namespace *ns, struct kern_ipc_perm *ipcp) ipcp 1128 ipc/sem.c struct sem_array *sma = container_of(ipcp, struct sem_array, sem_perm); ipcp 1588 ipc/sem.c struct kern_ipc_perm *ipcp; ipcp 1593 ipc/sem.c ipcp = ipcctl_obtain_check(ns, &sem_ids(ns), semid, cmd, ipcp 1595 ipc/sem.c if (IS_ERR(ipcp)) { ipcp 1596 ipc/sem.c err = PTR_ERR(ipcp); ipcp 1600 ipc/sem.c sma = container_of(ipcp, struct sem_array, sem_perm); ipcp 1610 ipc/sem.c freeary(ns, ipcp); ipcp 1614 ipc/sem.c err = ipc_update_perm(&semid64->sem_perm, ipcp); ipcp 2415 ipc/sem.c struct kern_ipc_perm *ipcp = it; ipcp 2416 ipc/sem.c struct sem_array *sma = container_of(ipcp, struct sem_array, sem_perm); ipcp 113 ipc/shm.c static void do_shm_rmid(struct ipc_namespace *ns, struct kern_ipc_perm *ipcp) ipcp 117 ipc/shm.c shp = container_of(ipcp, struct shmid_kernel, shm_perm); ipcp 158 ipc/shm.c struct kern_ipc_perm *ipcp = ipc_obtain_object_idr(&shm_ids(ns), id); ipcp 160 ipc/shm.c if (IS_ERR(ipcp)) ipcp 161 ipc/shm.c return ERR_CAST(ipcp); ipcp 163 ipc/shm.c return container_of(ipcp, struct shmid_kernel, shm_perm); ipcp 168 ipc/shm.c struct kern_ipc_perm *ipcp = ipc_obtain_object_check(&shm_ids(ns), id); ipcp 170 ipc/shm.c if (IS_ERR(ipcp)) ipcp 171 ipc/shm.c return ERR_CAST(ipcp); ipcp 173 ipc/shm.c return container_of(ipcp, struct shmid_kernel, shm_perm); ipcp 182 ipc/shm.c struct kern_ipc_perm *ipcp; ipcp 185 ipc/shm.c ipcp = ipc_obtain_object_idr(&shm_ids(ns), id); ipcp 186 ipc/shm.c if (IS_ERR(ipcp)) ipcp 189 ipc/shm.c ipc_lock_object(ipcp); ipcp 196 ipc/shm.c if (ipc_valid_object(ipcp)) { ipcp 198 ipc/shm.c return container_of(ipcp, struct shmid_kernel, shm_perm); ipcp 201 ipc/shm.c ipc_unlock_object(ipcp); ipcp 202 ipc/shm.c ipcp = ERR_PTR(-EIDRM); ipcp 209 ipc/shm.c return ERR_CAST(ipcp); ipcp 212 ipc/shm.c static inline void shm_lock_by_ptr(struct shmid_kernel *ipcp) ipcp 215 ipc/shm.c ipc_lock_object(&ipcp->shm_perm); ipcp 355 ipc/shm.c struct kern_ipc_perm *ipcp = p; ipcp 356 ipc/shm.c struct shmid_kernel *shp = container_of(ipcp, struct shmid_kernel, shm_perm); ipcp 714 ipc/shm.c static inline int shm_more_checks(struct kern_ipc_perm *ipcp, ipcp 719 ipc/shm.c shp = container_of(ipcp, struct shmid_kernel, shm_perm); ipcp 894 ipc/shm.c struct kern_ipc_perm *ipcp; ipcp 901 ipc/shm.c ipcp = ipcctl_obtain_check(ns, &shm_ids(ns), shmid, cmd, ipcp 903 ipc/shm.c if (IS_ERR(ipcp)) { ipcp 904 ipc/shm.c err = PTR_ERR(ipcp); ipcp 908 ipc/shm.c shp = container_of(ipcp, struct shmid_kernel, shm_perm); ipcp 918 ipc/shm.c do_shm_rmid(ns, ipcp); ipcp 922 ipc/shm.c err = ipc_update_perm(&shmid64->shm_perm, ipcp); ipcp 1743 ipc/shm.c struct kern_ipc_perm *ipcp = it; ipcp 1747 ipc/shm.c shp = container_of(ipcp, struct shmid_kernel, shm_perm); ipcp 173 ipc/util.c struct kern_ipc_perm *ipcp; ipcp 175 ipc/util.c ipcp = rhashtable_lookup_fast(&ids->key_ht, &key, ipcp 177 ipc/util.c if (!ipcp) ipcp 181 ipc/util.c ipc_lock_object(ipcp); ipcp 182 ipc/util.c return ipcp; ipcp 365 ipc/util.c struct kern_ipc_perm *ipcp, ipcp 371 ipc/util.c if (ipcperms(ns, ipcp, params->flg)) ipcp 374 ipc/util.c err = ops->associate(ipcp, params->flg); ipcp 376 ipc/util.c err = ipcp->id; ipcp 399 ipc/util.c struct kern_ipc_perm *ipcp; ipcp 408 ipc/util.c ipcp = ipc_findkey(ids, params->key); ipcp 409 ipc/util.c if (ipcp == NULL) { ipcp 423 ipc/util.c err = ops->more_checks(ipcp, params); ipcp 429 ipc/util.c err = ipc_check_perms(ns, ipcp, ops, params); ipcp 431 ipc/util.c ipc_unlock(ipcp); ipcp 446 ipc/util.c static void ipc_kht_remove(struct ipc_ids *ids, struct kern_ipc_perm *ipcp) ipcp 448 ipc/util.c if (ipcp->key != IPC_PRIVATE) ipcp 449 ipc/util.c rhashtable_remove_fast(&ids->key_ht, &ipcp->khtnode, ipcp 461 ipc/util.c void ipc_rmid(struct ipc_ids *ids, struct kern_ipc_perm *ipcp) ipcp 463 ipc/util.c int idx = ipcid_to_idx(ipcp->id); ipcp 466 ipc/util.c ipc_kht_remove(ids, ipcp); ipcp 468 ipc/util.c ipcp->deleted = true; ipcp 488 ipc/util.c void ipc_set_key_private(struct ipc_ids *ids, struct kern_ipc_perm *ipcp) ipcp 490 ipc/util.c ipc_kht_remove(ids, ipcp); ipcp 491 ipc/util.c ipcp->key = IPC_PRIVATE; ipcp 519 ipc/util.c int ipcperms(struct ipc_namespace *ns, struct kern_ipc_perm *ipcp, short flag) ipcp 524 ipc/util.c audit_ipc_obj(ipcp); ipcp 526 ipc/util.c granted_mode = ipcp->mode; ipcp 527 ipc/util.c if (uid_eq(euid, ipcp->cuid) || ipcp 528 ipc/util.c uid_eq(euid, ipcp->uid)) ipcp 530 ipc/util.c else if (in_group_p(ipcp->cgid) || in_group_p(ipcp->gid)) ipcp 537 ipc/util.c return security_ipc_permission(ipcp, flag); ipcp 694 ipc/util.c struct kern_ipc_perm *ipcp; ipcp 696 ipc/util.c ipcp = ipc_obtain_object_check(ids, id); ipcp 697 ipc/util.c if (IS_ERR(ipcp)) { ipcp 698 ipc/util.c err = PTR_ERR(ipcp); ipcp 702 ipc/util.c audit_ipc_obj(ipcp); ipcp 708 ipc/util.c if (uid_eq(euid, ipcp->cuid) || uid_eq(euid, ipcp->uid) || ipcp 710 ipc/util.c return ipcp; /* successful lookup */ ipcp 142 ipc/util.h int ipcperms(struct ipc_namespace *ns, struct kern_ipc_perm *ipcp, short flg); ipcp 201 ipc/util.h static inline int ipc_checkid(struct kern_ipc_perm *ipcp, int id) ipcp 203 ipc/util.h return ipcid_to_seqx(id) != ipcp->seq; ipcp 2273 kernel/auditsc.c void __audit_ipc_obj(struct kern_ipc_perm *ipcp) ipcp 2276 kernel/auditsc.c context->ipc.uid = ipcp->uid; ipcp 2277 kernel/auditsc.c context->ipc.gid = ipcp->gid; ipcp 2278 kernel/auditsc.c context->ipc.mode = ipcp->mode; ipcp 2280 kernel/auditsc.c security_ipc_getsecid(ipcp, &context->ipc.osid); ipcp 1730 security/security.c int security_ipc_permission(struct kern_ipc_perm *ipcp, short flag) ipcp 1732 security/security.c return call_int_hook(ipc_permission, 0, ipcp, flag); ipcp 1735 security/security.c void security_ipc_getsecid(struct kern_ipc_perm *ipcp, u32 *secid) ipcp 1738 security/security.c call_void_hook(ipc_getsecid, ipcp, secid); ipcp 6266 security/selinux/hooks.c static int selinux_ipc_permission(struct kern_ipc_perm *ipcp, short flag) ipcp 6279 security/selinux/hooks.c return ipc_has_perm(ipcp, av); ipcp 6282 security/selinux/hooks.c static void selinux_ipc_getsecid(struct kern_ipc_perm *ipcp, u32 *secid) ipcp 6284 security/selinux/hooks.c struct ipc_security_struct *isec = selinux_ipc(ipcp);