summaryrefslogtreecommitdiffstats
path: root/sys/kern
diff options
context:
space:
mode:
authortrasz <trasz@FreeBSD.org>2009-12-03 13:29:24 +0000
committertrasz <trasz@FreeBSD.org>2009-12-03 13:29:24 +0000
commit790ed544cff3a0c9f9c1cce6ac526a0569118e2e (patch)
tree8b49e26e3bc7ec9f0160d974a10a0f46aa2c547a /sys/kern
parent98a49a66136b100b6da8d23225fb6e19e1bcdd22 (diff)
downloadFreeBSD-src-790ed544cff3a0c9f9c1cce6ac526a0569118e2e.zip
FreeBSD-src-790ed544cff3a0c9f9c1cce6ac526a0569118e2e.tar.gz
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.
Diffstat (limited to 'sys/kern')
-rw-r--r--sys/kern/vfs_acl.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/kern/vfs_acl.c b/sys/kern/vfs_acl.c
index a6a1ebf..c44bb25 100644
--- a/sys/kern/vfs_acl.c
+++ b/sys/kern/vfs_acl.c
@@ -173,7 +173,7 @@ acl_copyout(struct acl *kernel_acl, void *user_acl, acl_type_t type)
/*
* 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 vnode *vp, acl_type_t type,
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);
OpenPOWER on IntegriCloud