From bf5c265f49d0b36a5859c0f0d871e166207f05e6 Mon Sep 17 00:00:00 2001 From: kib Date: Sat, 11 Oct 2014 18:01:09 +0000 Subject: [PATCH] MFC r272538: Slightly reword comment. Move code, which is described by the comment, after it. git-svn-id: svn://svn.freebsd.org/base/stable/10@272948 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f --- sys/kern/vfs_vnops.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/sys/kern/vfs_vnops.c b/sys/kern/vfs_vnops.c index de0c23b0d..776954d3a 100644 --- a/sys/kern/vfs_vnops.c +++ b/sys/kern/vfs_vnops.c @@ -2232,12 +2232,10 @@ vn_utimes_perm(struct vnode *vp, struct vattr *vap, struct ucred *cred, { int error; - error = VOP_ACCESSX(vp, VWRITE_ATTRIBUTES, cred, td); - /* - * From utimes(2): - * Grant permission if the caller is the owner of the file or - * the super-user. If the time pointer is null, then write + * Grant permission if the caller is the owner of the file, or + * the super-user, or has ACL_WRITE_ATTRIBUTES permission on + * on the file. If the time pointer is null, then write * permission on the file is also sufficient. * * From NFSv4.1, draft 21, 6.2.1.3.1, Discussion of Mask Attributes: @@ -2245,6 +2243,7 @@ vn_utimes_perm(struct vnode *vp, struct vattr *vap, struct ucred *cred, * will be allowed to set the times [..] to the current * server time. */ + error = VOP_ACCESSX(vp, VWRITE_ATTRIBUTES, cred, td); if (error != 0 && (vap->va_vaflags & VA_UTIMES_NULL) != 0) error = VOP_ACCESS(vp, VWRITE, cred, td); return (error); -- 2.45.0