usr/src/uts/common/fs/smbclnt/smbfs/smbfs_vnops.c
changeset 12273 63678502e95e
parent 12019 cfe7a7d0d7f0
child 13108 b02331b7b26d
--- a/usr/src/uts/common/fs/smbclnt/smbfs/smbfs_vnops.c	Wed Apr 28 09:25:44 2010 +0200
+++ b/usr/src/uts/common/fs/smbclnt/smbfs/smbfs_vnops.c	Wed Apr 28 10:01:37 2010 +0200
@@ -33,8 +33,7 @@
  */
 
 /*
- * Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
- * Use is subject to license terms.
+ * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
  */
 
 #include <sys/systm.h>
@@ -1211,9 +1210,6 @@
 		if (!groupmember(va.va_gid, cr))
 			shift += 3;
 	}
-	mode &= ~(va.va_mode << shift);
-	if (mode == 0)
-		return (0);
 
 	/*
 	 * We need a vnode for secpolicy_vnode_access,
@@ -1223,7 +1219,9 @@
 	tvp = (va.va_type == VDIR) ?
 	    (vnode_t *)&tmpl_vdir :
 	    (vnode_t *)&tmpl_vreg;
-	return (secpolicy_vnode_access(cr, tvp, va.va_uid, mode));
+
+	return (secpolicy_vnode_access2(cr, tvp, va.va_uid,
+	    va.va_mode << shift, mode));
 }
 
 /*