summaryrefslogtreecommitdiffstats
path: root/sys/fs/pseudofs/pseudofs.h
diff options
context:
space:
mode:
authorrwatson <rwatson@FreeBSD.org>2002-08-01 01:33:12 +0000
committerrwatson <rwatson@FreeBSD.org>2002-08-01 01:33:12 +0000
commit3ce5d5484cfbe7bd6f19b66612d0a5582f13fab0 (patch)
treeac3d1b39774dfa77453f4585450743cb4262f4b0 /sys/fs/pseudofs/pseudofs.h
parent6d0d48759b3059a7047764333355b5992445a4d3 (diff)
downloadFreeBSD-src-3ce5d5484cfbe7bd6f19b66612d0a5582f13fab0.zip
FreeBSD-src-3ce5d5484cfbe7bd6f19b66612d0a5582f13fab0.tar.gz
Introduce support for Mandatory Access Control and extensible
kernel access control. Modify pseudofs so that it can support synthetic file systems with the multilabel flag set. In particular, implement vop_refreshlabel() as pn_refreshlabel(). Implement pfs_refreshlabel() to invoke this, and have it fall back to the mount label if the file system does not implement pn_refreshlabel() for the node. Otherwise, permit the file system to determine how the service is provided. Approved by: des Obtained from: TrustedBSD Project Sponsored by: DARPA, NAI Labs
Diffstat (limited to 'sys/fs/pseudofs/pseudofs.h')
-rw-r--r--sys/fs/pseudofs/pseudofs.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/sys/fs/pseudofs/pseudofs.h b/sys/fs/pseudofs/pseudofs.h
index 69044d0..05882bf 100644
--- a/sys/fs/pseudofs/pseudofs.h
+++ b/sys/fs/pseudofs/pseudofs.h
@@ -145,6 +145,15 @@ struct ucred;
typedef int (*pfs_getextattr_t)(PFS_GETEXTATTR_ARGS);
/*
+ * Getlabel callback
+ */
+#define PFS_REFRESHLABEL_ARGS \
+ struct thread *td, struct proc *p, struct vnode *vp, \
+ struct pfs_node *pn, struct ucred *cred
+struct mac;
+typedef int (*pfs_refreshlabel_t)(PFS_REFRESHLABEL_ARGS);
+
+/*
* Last-close callback
*/
#define PFS_CLOSE_ARGS \
@@ -185,6 +194,7 @@ struct pfs_node {
pfs_attr_t pn_attr;
pfs_vis_t pn_vis;
pfs_getextattr_t pn_getextattr;
+ pfs_refreshlabel_t pn_refreshlabel;
void *pn_data;
int pn_flags;
OpenPOWER on IntegriCloud