| /Linux-v5.4/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);
 170 bool ipc_rcu_getref(struct kern_ipc_perm *ptr);
 171 void ipc_rcu_putref(struct kern_ipc_perm *ptr,
 174 struct kern_ipc_perm *ipc_obtain_object_idr(struct ipc_ids *ids, int id);
 176 void kernel_to_ipc64_perm(struct kern_ipc_perm *in, struct ipc64_perm *out);
 [all …]
 
 | 
| D | util.c | 101 	.head_offset		= offsetof(struct kern_ipc_perm, khtnode),102 	.key_offset		= offsetof(struct kern_ipc_perm, key),
 103 	.key_len		= FIELD_SIZEOF(struct kern_ipc_perm, key),
 171 static struct kern_ipc_perm *ipc_findkey(struct ipc_ids *ids, key_t key)  in ipc_findkey()
 173 	struct kern_ipc_perm *ipcp;  in ipc_findkey()
 201 static inline int ipc_idr_alloc(struct ipc_ids *ids, struct kern_ipc_perm *new)  in ipc_idr_alloc()
 277 int ipc_addid(struct ipc_ids *ids, struct kern_ipc_perm *new, int limit)  in ipc_addid()
 365 			   struct kern_ipc_perm *ipcp,  in ipc_check_perms()
 399 	struct kern_ipc_perm *ipcp;  in ipcget_public()
 446 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()  argument98 	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 inline int shm_more_checks(struct kern_ipc_perm *ipcp,  in shm_more_checks()
 872 		struct kern_ipc_perm *ipc;  in shm_get_stat()
 894 	struct kern_ipc_perm *ipcp;  in shmctl_down()
 [all …]
 
 | 
| D | msg.c | 49 	struct kern_ipc_perm q_perm;93 	struct kern_ipc_perm *ipcp = ipc_obtain_object_idr(&msg_ids(ns), id);  in msq_obtain_object()
 104 	struct kern_ipc_perm *ipcp = ipc_obtain_object_check(&msg_ids(ns), id);  in msq_obtain_object_check()
 119 	struct kern_ipc_perm *p = container_of(head, struct kern_ipc_perm, rcu);  in msg_rcu_free()
 253 static void freeque(struct ipc_namespace *ns, struct kern_ipc_perm *ipcp)  in freeque()
 382 	struct kern_ipc_perm *ipcp;  in msgctl_down()
 1291 	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 *);
 300 	struct kern_ipc_perm *p = container_of(head, struct kern_ipc_perm, rcu);  in sem_rcu_free()
 458 	struct kern_ipc_perm *ipcp = ipc_obtain_object_idr(&sem_ids(ns), id);  in sem_obtain_object()
 469 	struct kern_ipc_perm *ipcp = ipc_obtain_object_check(&sem_ids(ns), id);  in sem_obtain_object_check()
 569 static inline int sem_more_checks(struct kern_ipc_perm *ipcp,  in sem_more_checks()
 1124 static void freeary(struct ipc_namespace *ns, struct kern_ipc_perm *ipcp)  in freeary()
 1588 	struct kern_ipc_perm *ipcp;  in semctl_down()
 2417 	struct kern_ipc_perm *ipcp = it;  in sysvipc_sem_proc_show()
 
 | 
| /Linux-v5.4/include/linux/ | 
| D | security.h | 40 struct kern_ipc_perm;408 int security_ipc_permission(struct kern_ipc_perm *ipcp, short flag);
 409 void security_ipc_getsecid(struct kern_ipc_perm *ipcp, u32 *secid);
 412 int security_msg_queue_alloc(struct kern_ipc_perm *msq);
 413 void security_msg_queue_free(struct kern_ipc_perm *msq);
 414 int security_msg_queue_associate(struct kern_ipc_perm *msq, int msqflg);
 415 int security_msg_queue_msgctl(struct kern_ipc_perm *msq, int cmd);
 416 int security_msg_queue_msgsnd(struct kern_ipc_perm *msq,
 418 int security_msg_queue_msgrcv(struct kern_ipc_perm *msq, struct msg_msg *msg,
 420 int security_shm_alloc(struct kern_ipc_perm *shp);
 [all …]
 
 | 
| 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);
 1662 	int (*msg_queue_alloc_security)(struct kern_ipc_perm *perm);
 1663 	void (*msg_queue_free_security)(struct kern_ipc_perm *perm);
 1664 	int (*msg_queue_associate)(struct kern_ipc_perm *perm, int msqflg);
 1665 	int (*msg_queue_msgctl)(struct kern_ipc_perm *perm, int cmd);
 1666 	int (*msg_queue_msgsnd)(struct kern_ipc_perm *perm, struct msg_msg *msg,
 1668 	int (*msg_queue_msgrcv)(struct kern_ipc_perm *perm, struct msg_msg *msg,
 1672 	int (*shm_alloc_security)(struct kern_ipc_perm *perm);
 1673 	void (*shm_free_security)(struct kern_ipc_perm *perm);
 [all …]
 
 | 
| D | ipc.h | 12 struct kern_ipc_perm {  struct
 | 
| 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()
 576 static inline void audit_ipc_obj(struct kern_ipc_perm *ipcp)  in audit_ipc_obj()
 
 | 
| /Linux-v5.4/security/ | 
| D | security.c | 591 static int lsm_ipc_alloc(struct kern_ipc_perm *kip)  in lsm_ipc_alloc()1730 int security_ipc_permission(struct kern_ipc_perm *ipcp, short flag)  in security_ipc_permission()
 1735 void security_ipc_getsecid(struct kern_ipc_perm *ipcp, u32 *secid)  in security_ipc_getsecid()
 1760 int security_msg_queue_alloc(struct kern_ipc_perm *msq)  in security_msg_queue_alloc()
 1772 void security_msg_queue_free(struct kern_ipc_perm *msq)  in security_msg_queue_free()
 1779 int security_msg_queue_associate(struct kern_ipc_perm *msq, int msqflg)  in security_msg_queue_associate()
 1784 int security_msg_queue_msgctl(struct kern_ipc_perm *msq, int cmd)  in security_msg_queue_msgctl()
 1789 int security_msg_queue_msgsnd(struct kern_ipc_perm *msq,  in security_msg_queue_msgsnd()
 1795 int security_msg_queue_msgrcv(struct kern_ipc_perm *msq, struct msg_msg *msg,  in security_msg_queue_msgrcv()
 1801 int security_shm_alloc(struct kern_ipc_perm *shp)  in security_shm_alloc()
 [all …]
 
 | 
| /Linux-v5.4/Documentation/RCU/ | 
| D | arrayRCU.txt | 77 		new = ipc_rcu_alloc(sizeof(struct kern_ipc_perm *)*newsize +83 		       sizeof(struct kern_ipc_perm *)*size +
 117 	struct kern_ipc_perm* ipc_lock(struct ipc_ids* ids, int id)
 119 		struct kern_ipc_perm* out;
 
 | 
| /Linux-v5.4/security/smack/ | 
| D | smack_lsm.c | 2914 static struct smack_known *smack_of_ipc(struct kern_ipc_perm *isp)  in smack_of_ipc()2927 static int smack_ipc_alloc_security(struct kern_ipc_perm *isp)  in smack_ipc_alloc_security()
 2942 static int smk_curacc_shm(struct kern_ipc_perm *isp, int access)  in smk_curacc_shm()
 2964 static int smack_shm_associate(struct kern_ipc_perm *isp, int shmflg)  in smack_shm_associate()
 2979 static int smack_shm_shmctl(struct kern_ipc_perm *isp, int cmd)  in smack_shm_shmctl()
 3015 static int smack_shm_shmat(struct kern_ipc_perm *isp, char __user *shmaddr,  in smack_shm_shmat()
 3031 static int smk_curacc_sem(struct kern_ipc_perm *isp, int access)  in smk_curacc_sem()
 3053 static int smack_sem_associate(struct kern_ipc_perm *isp, int semflg)  in smack_sem_associate()
 3068 static int smack_sem_semctl(struct kern_ipc_perm *isp, int cmd)  in smack_sem_semctl()
 3113 static int smack_sem_semop(struct kern_ipc_perm *isp, struct sembuf *sops,  in smack_sem_semop()
 [all …]
 
 | 
| D | smack.h | 370 static inline struct smack_known **smack_ipc(const struct kern_ipc_perm *ipc)  in smack_ipc()
 | 
| /Linux-v5.4/security/selinux/include/ | 
| D | objsec.h | 173 						const struct kern_ipc_perm *ipc)  in selinux_ipc()
 | 
| /Linux-v5.4/security/selinux/ | 
| D | hooks.c | 5895 static int ipc_has_perm(struct kern_ipc_perm *ipc_perms,  in ipc_has_perm()5917 static int selinux_msg_queue_alloc_security(struct kern_ipc_perm *msq)  in selinux_msg_queue_alloc_security()
 5936 static int selinux_msg_queue_associate(struct kern_ipc_perm *msq, int msqflg)  in selinux_msg_queue_associate()
 5952 static int selinux_msg_queue_msgctl(struct kern_ipc_perm *msq, int cmd)  in selinux_msg_queue_msgctl()
 5983 static int selinux_msg_queue_msgsnd(struct kern_ipc_perm *msq, struct msg_msg *msg, int msqflg)  in selinux_msg_queue_msgsnd()
 6029 static int selinux_msg_queue_msgrcv(struct kern_ipc_perm *msq, struct msg_msg *msg,  in selinux_msg_queue_msgrcv()
 6056 static int selinux_shm_alloc_security(struct kern_ipc_perm *shp)  in selinux_shm_alloc_security()
 6075 static int selinux_shm_associate(struct kern_ipc_perm *shp, int shmflg)  in selinux_shm_associate()
 6092 static int selinux_shm_shmctl(struct kern_ipc_perm *shp, int cmd)  in selinux_shm_shmctl()
 6127 static int selinux_shm_shmat(struct kern_ipc_perm *shp,  in selinux_shm_shmat()
 [all …]
 
 | 
| /Linux-v5.4/Documentation/security/ | 
| D | lsm.rst | 79 security fields were added to :c:type:`struct kern_ipc_perm80 <kern_ipc_perm>` and :c:type:`struct msg_msg
 
 | 
| /Linux-v5.4/kernel/ | 
| D | auditsc.c | 2273 void __audit_ipc_obj(struct kern_ipc_perm *ipcp)  in __audit_ipc_obj()
 |