summaryrefslogtreecommitdiffstats
path: root/sys/security/mac_bsdextended
diff options
context:
space:
mode:
authortrasz <trasz@FreeBSD.org>2008-10-28 13:44:11 +0000
committertrasz <trasz@FreeBSD.org>2008-10-28 13:44:11 +0000
commit0ad8692247694171bf2d3f963f24b15f5223a0de (patch)
treecb5d9bbe34cd6eae2c3dd212bdfdfd85569424dd /sys/security/mac_bsdextended
parentbc6713490924420312442a3f3fc4ef1fe4b8e400 (diff)
downloadFreeBSD-src-0ad8692247694171bf2d3f963f24b15f5223a0de.zip
FreeBSD-src-0ad8692247694171bf2d3f963f24b15f5223a0de.tar.gz
Introduce accmode_t. This is required for NFSv4 ACLs - it will be neccessary
to add more V* constants, and the variables changed by this patch were often being assigned to mode_t variables, which is 16 bit. Approved by: rwatson (mentor)
Diffstat (limited to 'sys/security/mac_bsdextended')
-rw-r--r--sys/security/mac_bsdextended/ugidfw_internal.h4
-rw-r--r--sys/security/mac_bsdextended/ugidfw_vnode.c16
2 files changed, 14 insertions, 6 deletions
diff --git a/sys/security/mac_bsdextended/ugidfw_internal.h b/sys/security/mac_bsdextended/ugidfw_internal.h
index e85f303..6e979cf 100644
--- a/sys/security/mac_bsdextended/ugidfw_internal.h
+++ b/sys/security/mac_bsdextended/ugidfw_internal.h
@@ -52,7 +52,7 @@ int ugidfw_system_check_swapon(struct ucred *cred, struct vnode *vp,
* Vnode access control checks.
*/
int ugidfw_vnode_check_access(struct ucred *cred, struct vnode *vp,
- struct label *vplabel, int acc_mode);
+ struct label *vplabel, accmode_t accmode);
int ugidfw_vnode_check_chdir(struct ucred *cred, struct vnode *dvp,
struct label *dvplabel);
int ugidfw_vnode_check_chroot(struct ucred *cred, struct vnode *dvp,
@@ -81,7 +81,7 @@ int ugidfw_vnode_check_listextattr(struct ucred *cred, struct vnode *vp,
int ugidfw_vnode_check_lookup(struct ucred *cred, struct vnode *dvp,
struct label *dvplabel, struct componentname *cnp);
int ugidfw_vnode_check_open(struct ucred *cred, struct vnode *vp,
- struct label *vplabel, int acc_mode);
+ struct label *vplabel, accmode_t accmode);
int ugidfw_vnode_check_readdir(struct ucred *cred, struct vnode *dvp,
struct label *dvplabel);
int ugidfw_vnode_check_readdlink(struct ucred *cred, struct vnode *vp,
diff --git a/sys/security/mac_bsdextended/ugidfw_vnode.c b/sys/security/mac_bsdextended/ugidfw_vnode.c
index 5953078..3d760bc 100644
--- a/sys/security/mac_bsdextended/ugidfw_vnode.c
+++ b/sys/security/mac_bsdextended/ugidfw_vnode.c
@@ -62,10 +62,14 @@
int
ugidfw_vnode_check_access(struct ucred *cred, struct vnode *vp,
- struct label *vplabel, int acc_mode)
+ struct label *vplabel, accmode_t accmode)
{
- return (ugidfw_check_vp(cred, vp, acc_mode));
+ /*
+ * XXX: We pass accmode_t variable containing V* constants
+ * as an int containing MBI_* constants.
+ */
+ return (ugidfw_check_vp(cred, vp, (int)accmode));
}
int
@@ -168,10 +172,14 @@ ugidfw_vnode_check_lookup(struct ucred *cred, struct vnode *dvp,
int
ugidfw_vnode_check_open(struct ucred *cred, struct vnode *vp,
- struct label *vplabel, int acc_mode)
+ struct label *vplabel, accmode_t accmode)
{
- return (ugidfw_check_vp(cred, vp, acc_mode));
+ /*
+ * XXX: We pass accmode_t variable containing V* constants
+ * as an int containing MBI_* constants.
+ */
+ return (ugidfw_check_vp(cred, vp, (int)accmode));
}
int
OpenPOWER on IntegriCloud