mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-17 10:26:15 +00:00
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.
This commit is contained in:
parent
01ab76323b
commit
6bb58cdd0f
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=200058
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user