kern_ipc_perm
struct kern_ipc_perm;
extern void __audit_ipc_obj(struct kern_ipc_perm *ipcp);
static inline void audit_ipc_obj(struct kern_ipc_perm *ipcp)
static inline void audit_ipc_obj(struct kern_ipc_perm *ipcp)
LSM_HOOK(int, 0, ipc_permission, struct kern_ipc_perm *ipcp, short flag)
LSM_HOOK(void, LSM_RET_VOID, ipc_getlsmprop, struct kern_ipc_perm *ipcp,
LSM_HOOK(int, 0, msg_queue_alloc_security, struct kern_ipc_perm *perm)
struct kern_ipc_perm *perm)
LSM_HOOK(int, 0, msg_queue_associate, struct kern_ipc_perm *perm, int msqflg)
LSM_HOOK(int, 0, msg_queue_msgctl, struct kern_ipc_perm *perm, int cmd)
LSM_HOOK(int, 0, msg_queue_msgsnd, struct kern_ipc_perm *perm,
LSM_HOOK(int, 0, msg_queue_msgrcv, struct kern_ipc_perm *perm,
LSM_HOOK(int, 0, shm_alloc_security, struct kern_ipc_perm *perm)
LSM_HOOK(void, LSM_RET_VOID, shm_free_security, struct kern_ipc_perm *perm)
LSM_HOOK(int, 0, shm_associate, struct kern_ipc_perm *perm, int shmflg)
LSM_HOOK(int, 0, shm_shmctl, struct kern_ipc_perm *perm, int cmd)
LSM_HOOK(int, 0, shm_shmat, struct kern_ipc_perm *perm, char __user *shmaddr,
LSM_HOOK(int, 0, sem_alloc_security, struct kern_ipc_perm *perm)
LSM_HOOK(void, LSM_RET_VOID, sem_free_security, struct kern_ipc_perm *perm)
LSM_HOOK(int, 0, sem_associate, struct kern_ipc_perm *perm, int semflg)
LSM_HOOK(int, 0, sem_semctl, struct kern_ipc_perm *perm, int cmd)
LSM_HOOK(int, 0, sem_semop, struct kern_ipc_perm *perm, struct sembuf *sops,
static inline int security_ipc_permission(struct kern_ipc_perm *ipcp,
static inline void security_ipc_getlsmprop(struct kern_ipc_perm *ipcp,
static inline int security_msg_queue_alloc(struct kern_ipc_perm *msq)
static inline void security_msg_queue_free(struct kern_ipc_perm *msq)
static inline int security_msg_queue_associate(struct kern_ipc_perm *msq,
static inline int security_msg_queue_msgctl(struct kern_ipc_perm *msq, int cmd)
static inline int security_msg_queue_msgsnd(struct kern_ipc_perm *msq,
static inline int security_msg_queue_msgrcv(struct kern_ipc_perm *msq,
static inline int security_shm_alloc(struct kern_ipc_perm *shp)
static inline void security_shm_free(struct kern_ipc_perm *shp)
static inline int security_shm_associate(struct kern_ipc_perm *shp,
static inline int security_shm_shmctl(struct kern_ipc_perm *shp, int cmd)
static inline int security_shm_shmat(struct kern_ipc_perm *shp,
static inline int security_sem_alloc(struct kern_ipc_perm *sma)
static inline void security_sem_free(struct kern_ipc_perm *sma)
static inline int security_sem_associate(struct kern_ipc_perm *sma, int semflg)
static inline int security_sem_semctl(struct kern_ipc_perm *sma, int cmd)
static inline int security_sem_semop(struct kern_ipc_perm *sma,
struct kern_ipc_perm;
int security_ipc_permission(struct kern_ipc_perm *ipcp, short flag);
void security_ipc_getlsmprop(struct kern_ipc_perm *ipcp, struct lsm_prop *prop);
int security_msg_queue_alloc(struct kern_ipc_perm *msq);
void security_msg_queue_free(struct kern_ipc_perm *msq);
int security_msg_queue_associate(struct kern_ipc_perm *msq, int msqflg);
int security_msg_queue_msgctl(struct kern_ipc_perm *msq, int cmd);
int security_msg_queue_msgsnd(struct kern_ipc_perm *msq,
int security_msg_queue_msgrcv(struct kern_ipc_perm *msq, struct msg_msg *msg,
int security_shm_alloc(struct kern_ipc_perm *shp);
void security_shm_free(struct kern_ipc_perm *shp);
int security_shm_associate(struct kern_ipc_perm *shp, int shmflg);
int security_shm_shmctl(struct kern_ipc_perm *shp, int cmd);
int security_shm_shmat(struct kern_ipc_perm *shp, char __user *shmaddr, int shmflg);
int security_sem_alloc(struct kern_ipc_perm *sma);
void security_sem_free(struct kern_ipc_perm *sma);
int security_sem_associate(struct kern_ipc_perm *sma, int semflg);
int security_sem_semctl(struct kern_ipc_perm *sma, int cmd);
int security_sem_semop(struct kern_ipc_perm *sma, struct sembuf *sops,
struct kern_ipc_perm *ipcp = ipc_obtain_object_idr(&msg_ids(ns), id);
struct kern_ipc_perm *ipcp = ipc_obtain_object_check(&msg_ids(ns), id);
struct kern_ipc_perm *p = container_of(head, struct kern_ipc_perm, rcu);
struct kern_ipc_perm *ipcp = it;
static void freeque(struct ipc_namespace *ns, struct kern_ipc_perm *ipcp)
struct kern_ipc_perm *ipcp;
struct kern_ipc_perm q_perm;
void (*free)(struct ipc_namespace *, struct kern_ipc_perm *))
struct kern_ipc_perm *perm;
static void freeary(struct ipc_namespace *ns, struct kern_ipc_perm *ipcp)
struct kern_ipc_perm sem_perm; /* permissions .. see ipc.h */
struct kern_ipc_perm *ipcp;
static void freeary(struct ipc_namespace *, struct kern_ipc_perm *);
struct kern_ipc_perm *ipcp = it;
struct kern_ipc_perm *p = container_of(head, struct kern_ipc_perm, rcu);
struct kern_ipc_perm *ipcp = ipc_obtain_object_idr(&sem_ids(ns), id);
struct kern_ipc_perm *ipcp = ipc_obtain_object_check(&sem_ids(ns), id);
static int sem_more_checks(struct kern_ipc_perm *ipcp, struct ipc_params *params)
static void do_shm_rmid(struct ipc_namespace *ns, struct kern_ipc_perm *ipcp)
struct kern_ipc_perm *ipcp = ipc_obtain_object_idr(&shm_ids(ns), id);
struct kern_ipc_perm *ipcp = ipc_obtain_object_check(&shm_ids(ns), id);
struct kern_ipc_perm *ipcp = it;
struct kern_ipc_perm *ipcp;
struct kern_ipc_perm *ptr = container_of(head, struct kern_ipc_perm,
struct kern_ipc_perm *ipcp = p;
struct kern_ipc_perm shm_perm;
static int shm_more_checks(struct kern_ipc_perm *ipcp, struct ipc_params *params)
struct kern_ipc_perm *ipc;
struct kern_ipc_perm *ipcp;
.head_offset = offsetof(struct kern_ipc_perm, khtnode),
.key_offset = offsetof(struct kern_ipc_perm, key),
.key_len = sizeof_field(struct kern_ipc_perm, key),
static struct kern_ipc_perm *ipc_findkey(struct ipc_ids *ids, key_t key)
struct kern_ipc_perm *ipcp;
static inline int ipc_idr_alloc(struct ipc_ids *ids, struct kern_ipc_perm *new)
int ipc_addid(struct ipc_ids *ids, struct kern_ipc_perm *new, int limit)
struct kern_ipc_perm *ipcp,
struct kern_ipc_perm *ipcp;
static void ipc_kht_remove(struct ipc_ids *ids, struct kern_ipc_perm *ipcp)
void ipc_rmid(struct ipc_ids *ids, struct kern_ipc_perm *ipcp)
void ipc_set_key_private(struct ipc_ids *ids, struct kern_ipc_perm *ipcp)
bool ipc_rcu_getref(struct kern_ipc_perm *ptr)
void ipc_rcu_putref(struct kern_ipc_perm *ptr,
int ipcperms(struct ipc_namespace *ns, struct kern_ipc_perm *ipcp, short flag)
void kernel_to_ipc64_perm(struct kern_ipc_perm *in, struct ipc64_perm *out)
struct kern_ipc_perm *ipc_obtain_object_idr(struct ipc_ids *ids, int id)
struct kern_ipc_perm *out;
struct kern_ipc_perm *ipc_obtain_object_check(struct ipc_ids *ids, int id)
struct kern_ipc_perm *out = ipc_obtain_object_idr(ids, id);
int ipc_update_perm(struct ipc64_perm *in, struct kern_ipc_perm *out)
struct kern_ipc_perm *ipcctl_obtain_check(struct ipc_namespace *ns,
struct kern_ipc_perm *ipcp;
static struct kern_ipc_perm *sysvipc_find_ipc(struct ipc_ids *ids, loff_t *pos)
struct kern_ipc_perm *ipc;
struct kern_ipc_perm *ipc = it;
struct kern_ipc_perm *ipc = it;
int (*associate)(struct kern_ipc_perm *, int);
int (*more_checks)(struct kern_ipc_perm *, struct ipc_params *);
int ipc_addid(struct ipc_ids *, struct kern_ipc_perm *, int);
void ipc_rmid(struct ipc_ids *, struct kern_ipc_perm *);
void ipc_set_key_private(struct ipc_ids *, struct kern_ipc_perm *);
int ipcperms(struct ipc_namespace *ns, struct kern_ipc_perm *ipcp, short flg);
bool ipc_rcu_getref(struct kern_ipc_perm *ptr);
void ipc_rcu_putref(struct kern_ipc_perm *ptr,
struct kern_ipc_perm *ipc_obtain_object_idr(struct ipc_ids *ids, int id);
void kernel_to_ipc64_perm(struct kern_ipc_perm *in, struct ipc64_perm *out);
int ipc_update_perm(struct ipc64_perm *in, struct kern_ipc_perm *out);
struct kern_ipc_perm *ipcctl_obtain_check(struct ipc_namespace *ns,
static inline int ipc_checkid(struct kern_ipc_perm *ipcp, int id)
static inline void ipc_lock_object(struct kern_ipc_perm *perm)
static inline void ipc_unlock_object(struct kern_ipc_perm *perm)
static inline void ipc_assert_locked_object(struct kern_ipc_perm *perm)
static inline void ipc_unlock(struct kern_ipc_perm *perm)
static inline bool ipc_valid_object(struct kern_ipc_perm *perm)
struct kern_ipc_perm *ipc_obtain_object_check(struct ipc_ids *ids, int id);
void (*free)(struct ipc_namespace *, struct kern_ipc_perm *));
void __audit_ipc_obj(struct kern_ipc_perm *ipcp)
static int lsm_ipc_alloc(struct kern_ipc_perm *kip)
int security_ipc_permission(struct kern_ipc_perm *ipcp, short flag)
void security_ipc_getlsmprop(struct kern_ipc_perm *ipcp, struct lsm_prop *prop)
int security_msg_queue_alloc(struct kern_ipc_perm *msq)
void security_msg_queue_free(struct kern_ipc_perm *msq)
int security_msg_queue_associate(struct kern_ipc_perm *msq, int msqflg)
int security_msg_queue_msgctl(struct kern_ipc_perm *msq, int cmd)
int security_msg_queue_msgsnd(struct kern_ipc_perm *msq,
int security_msg_queue_msgrcv(struct kern_ipc_perm *msq, struct msg_msg *msg,
int security_shm_alloc(struct kern_ipc_perm *shp)
void security_shm_free(struct kern_ipc_perm *shp)
int security_shm_associate(struct kern_ipc_perm *shp, int shmflg)
int security_shm_shmctl(struct kern_ipc_perm *shp, int cmd)
int security_shm_shmat(struct kern_ipc_perm *shp,
int security_sem_alloc(struct kern_ipc_perm *sma)
void security_sem_free(struct kern_ipc_perm *sma)
int security_sem_associate(struct kern_ipc_perm *sma, int semflg)
int security_sem_semctl(struct kern_ipc_perm *sma, int cmd)
int security_sem_semop(struct kern_ipc_perm *sma, struct sembuf *sops,
static int ipc_has_perm(struct kern_ipc_perm *ipc_perms,
static int selinux_msg_queue_alloc_security(struct kern_ipc_perm *msq)
static int selinux_msg_queue_associate(struct kern_ipc_perm *msq, int msqflg)
static int selinux_msg_queue_msgctl(struct kern_ipc_perm *msq, int cmd)
static int selinux_msg_queue_msgsnd(struct kern_ipc_perm *msq, struct msg_msg *msg, int msqflg)
static int selinux_msg_queue_msgrcv(struct kern_ipc_perm *msq, struct msg_msg *msg,
static int selinux_shm_alloc_security(struct kern_ipc_perm *shp)
static int selinux_shm_associate(struct kern_ipc_perm *shp, int shmflg)
static int selinux_shm_shmctl(struct kern_ipc_perm *shp, int cmd)
static int selinux_shm_shmat(struct kern_ipc_perm *shp,
static int selinux_sem_alloc_security(struct kern_ipc_perm *sma)
static int selinux_sem_associate(struct kern_ipc_perm *sma, int semflg)
static int selinux_sem_semctl(struct kern_ipc_perm *sma, int cmd)
static int selinux_sem_semop(struct kern_ipc_perm *sma,
static int selinux_ipc_permission(struct kern_ipc_perm *ipcp, short flag)
static void selinux_ipc_getlsmprop(struct kern_ipc_perm *ipcp,
selinux_ipc(const struct kern_ipc_perm *ipc)
static inline struct smack_known **smack_ipc(const struct kern_ipc_perm *ipc)
static struct smack_known *smack_of_ipc(struct kern_ipc_perm *isp)
static int smack_ipc_alloc_security(struct kern_ipc_perm *isp)
static int smk_curacc_shm(struct kern_ipc_perm *isp, int access)
static int smack_shm_associate(struct kern_ipc_perm *isp, int shmflg)
static int smack_shm_shmctl(struct kern_ipc_perm *isp, int cmd)
static int smack_shm_shmat(struct kern_ipc_perm *isp, char __user *shmaddr,
static int smk_curacc_sem(struct kern_ipc_perm *isp, int access)
static int smack_sem_associate(struct kern_ipc_perm *isp, int semflg)
static int smack_sem_semctl(struct kern_ipc_perm *isp, int cmd)
static int smack_sem_semop(struct kern_ipc_perm *isp, struct sembuf *sops,
static int smk_curacc_msq(struct kern_ipc_perm *isp, int access)
static int smack_msg_queue_associate(struct kern_ipc_perm *isp, int msqflg)
static int smack_msg_queue_msgctl(struct kern_ipc_perm *isp, int cmd)
static int smack_msg_queue_msgsnd(struct kern_ipc_perm *isp, struct msg_msg *msg,
static int smack_msg_queue_msgrcv(struct kern_ipc_perm *isp,
static int smack_ipc_permission(struct kern_ipc_perm *ipp, short flag)
static void smack_ipc_getlsmprop(struct kern_ipc_perm *ipp, struct lsm_prop *prop)