SCCS-vsn: sys/ufs/ffs/ffs_vnops.c 7.9
SCCS-vsn: sys/ufs/ffs/ufs_vnops.c 7.9
SCCS-vsn: sys/ufs/lfs/lfs_vnops.c 7.9
SCCS-vsn: sys/ufs/ufs/ufs_vnops.c 7.9
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*
- * @(#)ffs_vnops.c 7.8 (Berkeley) %G%
+ * @(#)ffs_vnops.c 7.9 (Berkeley) %G%
if (error = itrunc(ip, vap->va_size))
return (error);
}
if (error = itrunc(ip, vap->va_size))
return (error);
}
- /*
- * Check whether the following attributes can be changed.
- */
- if (cred->cr_uid != ip->i_uid &&
- (error = suser(cred, &u.u_acflag)))
- return (error);
if (vap->va_atime.tv_sec != VNOVAL || vap->va_mtime.tv_sec != VNOVAL) {
if (vap->va_atime.tv_sec != VNOVAL || vap->va_mtime.tv_sec != VNOVAL) {
+ if (cred->cr_uid != ip->i_uid &&
+ (error = suser(cred, &u.u_acflag)))
+ return (error);
if (vap->va_atime.tv_sec != VNOVAL)
ip->i_flag |= IACC;
if (vap->va_mtime.tv_sec != VNOVAL)
if (vap->va_atime.tv_sec != VNOVAL)
ip->i_flag |= IACC;
if (vap->va_mtime.tv_sec != VNOVAL)
struct ucred *cred;
{
register struct inode *ip = VTOI(vp);
struct ucred *cred;
{
register struct inode *ip = VTOI(vp);
+ if (cred->cr_uid != ip->i_uid &&
+ (error = suser(cred, &u.u_acflag)))
+ return (error);
ip->i_mode &= ~07777;
if (cred->cr_uid) {
if (vp->v_type != VDIR)
ip->i_mode &= ~07777;
if (cred->cr_uid) {
if (vp->v_type != VDIR)
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*
- * @(#)ufs_vnops.c 7.8 (Berkeley) %G%
+ * @(#)ufs_vnops.c 7.9 (Berkeley) %G%
if (error = itrunc(ip, vap->va_size))
return (error);
}
if (error = itrunc(ip, vap->va_size))
return (error);
}
- /*
- * Check whether the following attributes can be changed.
- */
- if (cred->cr_uid != ip->i_uid &&
- (error = suser(cred, &u.u_acflag)))
- return (error);
if (vap->va_atime.tv_sec != VNOVAL || vap->va_mtime.tv_sec != VNOVAL) {
if (vap->va_atime.tv_sec != VNOVAL || vap->va_mtime.tv_sec != VNOVAL) {
+ if (cred->cr_uid != ip->i_uid &&
+ (error = suser(cred, &u.u_acflag)))
+ return (error);
if (vap->va_atime.tv_sec != VNOVAL)
ip->i_flag |= IACC;
if (vap->va_mtime.tv_sec != VNOVAL)
if (vap->va_atime.tv_sec != VNOVAL)
ip->i_flag |= IACC;
if (vap->va_mtime.tv_sec != VNOVAL)
struct ucred *cred;
{
register struct inode *ip = VTOI(vp);
struct ucred *cred;
{
register struct inode *ip = VTOI(vp);
+ if (cred->cr_uid != ip->i_uid &&
+ (error = suser(cred, &u.u_acflag)))
+ return (error);
ip->i_mode &= ~07777;
if (cred->cr_uid) {
if (vp->v_type != VDIR)
ip->i_mode &= ~07777;
if (cred->cr_uid) {
if (vp->v_type != VDIR)
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*
- * @(#)lfs_vnops.c 7.8 (Berkeley) %G%
+ * @(#)lfs_vnops.c 7.9 (Berkeley) %G%
if (error = itrunc(ip, vap->va_size))
return (error);
}
if (error = itrunc(ip, vap->va_size))
return (error);
}
- /*
- * Check whether the following attributes can be changed.
- */
- if (cred->cr_uid != ip->i_uid &&
- (error = suser(cred, &u.u_acflag)))
- return (error);
if (vap->va_atime.tv_sec != VNOVAL || vap->va_mtime.tv_sec != VNOVAL) {
if (vap->va_atime.tv_sec != VNOVAL || vap->va_mtime.tv_sec != VNOVAL) {
+ if (cred->cr_uid != ip->i_uid &&
+ (error = suser(cred, &u.u_acflag)))
+ return (error);
if (vap->va_atime.tv_sec != VNOVAL)
ip->i_flag |= IACC;
if (vap->va_mtime.tv_sec != VNOVAL)
if (vap->va_atime.tv_sec != VNOVAL)
ip->i_flag |= IACC;
if (vap->va_mtime.tv_sec != VNOVAL)
struct ucred *cred;
{
register struct inode *ip = VTOI(vp);
struct ucred *cred;
{
register struct inode *ip = VTOI(vp);
+ if (cred->cr_uid != ip->i_uid &&
+ (error = suser(cred, &u.u_acflag)))
+ return (error);
ip->i_mode &= ~07777;
if (cred->cr_uid) {
if (vp->v_type != VDIR)
ip->i_mode &= ~07777;
if (cred->cr_uid) {
if (vp->v_type != VDIR)
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*
- * @(#)ufs_vnops.c 7.8 (Berkeley) %G%
+ * @(#)ufs_vnops.c 7.9 (Berkeley) %G%
if (error = itrunc(ip, vap->va_size))
return (error);
}
if (error = itrunc(ip, vap->va_size))
return (error);
}
- /*
- * Check whether the following attributes can be changed.
- */
- if (cred->cr_uid != ip->i_uid &&
- (error = suser(cred, &u.u_acflag)))
- return (error);
if (vap->va_atime.tv_sec != VNOVAL || vap->va_mtime.tv_sec != VNOVAL) {
if (vap->va_atime.tv_sec != VNOVAL || vap->va_mtime.tv_sec != VNOVAL) {
+ if (cred->cr_uid != ip->i_uid &&
+ (error = suser(cred, &u.u_acflag)))
+ return (error);
if (vap->va_atime.tv_sec != VNOVAL)
ip->i_flag |= IACC;
if (vap->va_mtime.tv_sec != VNOVAL)
if (vap->va_atime.tv_sec != VNOVAL)
ip->i_flag |= IACC;
if (vap->va_mtime.tv_sec != VNOVAL)
struct ucred *cred;
{
register struct inode *ip = VTOI(vp);
struct ucred *cred;
{
register struct inode *ip = VTOI(vp);
+ if (cred->cr_uid != ip->i_uid &&
+ (error = suser(cred, &u.u_acflag)))
+ return (error);
ip->i_mode &= ~07777;
if (cred->cr_uid) {
if (vp->v_type != VDIR)
ip->i_mode &= ~07777;
if (cred->cr_uid) {
if (vp->v_type != VDIR)