svn commit: r200058 - head/sys/kern

Edward Tomasz Napierala trasz at FreeBSD.org
Thu Dec 3 13:29:24 UTC 2009


Author: trasz
Date: Thu Dec  3 13:29:24 2009
New Revision: 200058
URL: http://svn.freebsd.org/changeset/base/200058

Log:
  Add change that was somehow missed in r192586.  It could manifest by
  incorrectly returning EINVAL from acl_valid(3) for applications linked
  against pre-8.0 libc.

Modified:
  head/sys/kern/vfs_acl.c

Modified: head/sys/kern/vfs_acl.c
==============================================================================
--- head/sys/kern/vfs_acl.c	Thu Dec  3 12:59:39 2009	(r200057)
+++ head/sys/kern/vfs_acl.c	Thu Dec  3 13:29:24 2009	(r200058)
@@ -173,7 +173,7 @@ acl_copyout(struct acl *kernel_acl, void
 
 /*
  * Convert "old" type - ACL_TYPE_{ACCESS,DEFAULT}_OLD - into its "new"
- * counterpart.  It's required for old (pre-NFS4 ACLs) libc to work
+ * counterpart.  It's required for old (pre-NFSv4 ACLs) libc to work
  * with new kernel.  Fixing 'type' for old binaries with new libc
  * is being done in lib/libc/posix1e/acl_support.c:_acl_type_unold().
  */
@@ -307,7 +307,8 @@ vacl_aclcheck(struct thread *td, struct 
 	error = acl_copyin(aclp, inkernelacl, type);
 	if (error != 0)
 		goto out;
-	error = VOP_ACLCHECK(vp, type, inkernelacl, td->td_ucred, td);
+	error = VOP_ACLCHECK(vp, acl_type_unold(type), inkernelacl,
+	    td->td_ucred, td);
 out:
 	acl_free(inkernelacl);
 	return (error);


More information about the svn-src-head mailing list