summaryrefslogtreecommitdiffstats
path: root/sys/sys/mac_policy.h
diff options
context:
space:
mode:
Diffstat (limited to 'sys/sys/mac_policy.h')
-rw-r--r--sys/sys/mac_policy.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/sys/sys/mac_policy.h b/sys/sys/mac_policy.h
index e519cb3..cb4ff1c 100644
--- a/sys/sys/mac_policy.h
+++ b/sys/sys/mac_policy.h
@@ -59,6 +59,7 @@ struct ifnet;
struct image_params;
struct inpcb;
struct ipq;
+struct ksem;
struct label;
struct mac_policy_conf;
struct mbuf;
@@ -114,6 +115,7 @@ struct mac_policy_ops {
int (*mpo_init_socket_label)(struct label *label, int flag);
int (*mpo_init_socket_peer_label)(struct label *label, int flag);
void (*mpo_init_pipe_label)(struct label *label);
+ void (*mpo_init_posix_sem_label)(struct label *label);
void (*mpo_init_proc_label)(struct label *label);
void (*mpo_init_vnode_label)(struct label *label);
void (*mpo_destroy_bpfdesc_label)(struct label *label);
@@ -132,6 +134,7 @@ struct mac_policy_ops {
void (*mpo_destroy_socket_label)(struct label *label);
void (*mpo_destroy_socket_peer_label)(struct label *label);
void (*mpo_destroy_pipe_label)(struct label *label);
+ void (*mpo_destroy_posix_sem_label)(struct label *label);
void (*mpo_destroy_proc_label)(struct label *label);
void (*mpo_destroy_vnode_label)(struct label *label);
void (*mpo_cleanup_sysv_msgmsg)(struct label *msglabel);
@@ -253,6 +256,12 @@ struct mac_policy_ops {
struct shmid_kernel *shmsegptr, struct label *shmlabel);
/*
+ * Labeling event operations: POSIX (global/inter-process) semaphores.
+ */
+ void (*mpo_create_posix_sem)(struct ucred *cred,
+ struct ksem *ksemptr, struct label *ks_label);
+
+ /*
* Labeling event operations: network objects.
*/
void (*mpo_create_bpfdesc)(struct ucred *cred, struct bpf_d *bpf_d,
@@ -404,6 +413,18 @@ struct mac_policy_ops {
struct pipepair *pp, struct label *pipelabel);
int (*mpo_check_pipe_write)(struct ucred *cred,
struct pipepair *pp, struct label *pipelabel);
+ int (*mpo_check_posix_sem_destroy)(struct ucred *cred,
+ struct ksem *ksemptr, struct label *ks_label);
+ int (*mpo_check_posix_sem_getvalue)(struct ucred *cred,
+ struct ksem *ksemptr, struct label *ks_label);
+ int (*mpo_check_posix_sem_open)(struct ucred *cred,
+ struct ksem *ksemptr, struct label *ks_label);
+ int (*mpo_check_posix_sem_post)(struct ucred *cred,
+ struct ksem *ksemptr, struct label *ks_label);
+ int (*mpo_check_posix_sem_unlink)(struct ucred *cred,
+ struct ksem *ksemptr, struct label *ks_label);
+ int (*mpo_check_posix_sem_wait)(struct ucred *cred,
+ struct ksem *ksemptr, struct label *ks_label);
int (*mpo_check_proc_debug)(struct ucred *cred,
struct proc *proc);
int (*mpo_check_proc_sched)(struct ucred *cred,
OpenPOWER on IntegriCloud