summaryrefslogtreecommitdiffstats
path: root/sys/kern/vfs_vnops.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/kern/vfs_vnops.c')
-rw-r--r--sys/kern/vfs_vnops.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/sys/kern/vfs_vnops.c b/sys/kern/vfs_vnops.c
index 1fb416b..08f8093 100644
--- a/sys/kern/vfs_vnops.c
+++ b/sys/kern/vfs_vnops.c
@@ -140,9 +140,17 @@ restart:
return (error);
goto restart;
}
- VOP_LEASE(ndp->ni_dvp, td, cred, LEASE_WRITE);
- error = VOP_CREATE(ndp->ni_dvp, &ndp->ni_vp,
- &ndp->ni_cnd, vap);
+#ifdef MAC
+ error = mac_check_vnode_create(cred, ndp->ni_dvp,
+ &ndp->ni_cnd, vap);
+ if (error == 0) {
+#endif
+ VOP_LEASE(ndp->ni_dvp, td, cred, LEASE_WRITE);
+ error = VOP_CREATE(ndp->ni_dvp, &ndp->ni_vp,
+ &ndp->ni_cnd, vap);
+#ifdef MAC
+ }
+#endif
vput(ndp->ni_dvp);
vn_finished_write(mp);
if (error) {
OpenPOWER on IntegriCloud