devfs_vnops.c (de592112e1083b4ac4e4fc2c090db7ef2ef01570) | devfs_vnops.c (56f21b9d74a516a6c2f67d09e1b6c588bfa54c6a) |
---|---|
1/* 2 * Copyright (c) 1992, 1993 3 * The Regents of the University of California. All rights reserved. 4 * Copyright (c) 2000 5 * Poul-Henning Kamp. All rights reserved. 6 * 7 * This code is derived from software donated to Berkeley by 8 * Jan-Simon Pendry. --- 752 unchanged lines hidden (view full) --- 761 uid = vap->va_uid; 762 if (vap->va_gid == (gid_t)VNOVAL) 763 gid = de->de_gid; 764 else 765 gid = vap->va_gid; 766 if (uid != de->de_uid || gid != de->de_gid) { 767 if (((ap->a_cred->cr_uid != de->de_uid) || uid != de->de_uid || 768 (gid != de->de_gid && !groupmember(gid, ap->a_cred))) && | 1/* 2 * Copyright (c) 1992, 1993 3 * The Regents of the University of California. All rights reserved. 4 * Copyright (c) 2000 5 * Poul-Henning Kamp. All rights reserved. 6 * 7 * This code is derived from software donated to Berkeley by 8 * Jan-Simon Pendry. --- 752 unchanged lines hidden (view full) --- 761 uid = vap->va_uid; 762 if (vap->va_gid == (gid_t)VNOVAL) 763 gid = de->de_gid; 764 else 765 gid = vap->va_gid; 766 if (uid != de->de_uid || gid != de->de_gid) { 767 if (((ap->a_cred->cr_uid != de->de_uid) || uid != de->de_uid || 768 (gid != de->de_gid && !groupmember(gid, ap->a_cred))) && |
769 (error = suser_cred(ap->a_td->td_ucred, PRISON_ROOT)) != 0) | 769 (error = suser_cred(ap->a_td->td_ucred, SUSER_ALLOWJAIL)) != 0) |
770 return (error); 771 de->de_uid = uid; 772 de->de_gid = gid; 773 c = 1; 774 } 775 776 if (vap->va_mode != (mode_t)VNOVAL) { 777 if ((ap->a_cred->cr_uid != de->de_uid) && | 770 return (error); 771 de->de_uid = uid; 772 de->de_gid = gid; 773 c = 1; 774 } 775 776 if (vap->va_mode != (mode_t)VNOVAL) { 777 if ((ap->a_cred->cr_uid != de->de_uid) && |
778 (error = suser_cred(ap->a_td->td_ucred, PRISON_ROOT))) | 778 (error = suser_cred(ap->a_td->td_ucred, SUSER_ALLOWJAIL))) |
779 return (error); 780 de->de_mode = vap->va_mode; 781 c = 1; 782 } 783 784 if (vap->va_atime.tv_sec != VNOVAL || vap->va_mtime.tv_sec != VNOVAL) { 785 /* See the comment in ufs_vnops::ufs_setattr(). */ 786 if ((error = VOP_ACCESS(vp, VADMIN, ap->a_cred, ap->a_td)) && --- 136 unchanged lines hidden --- | 779 return (error); 780 de->de_mode = vap->va_mode; 781 c = 1; 782 } 783 784 if (vap->va_atime.tv_sec != VNOVAL || vap->va_mtime.tv_sec != VNOVAL) { 785 /* See the comment in ufs_vnops::ufs_setattr(). */ 786 if ((error = VOP_ACCESS(vp, VADMIN, ap->a_cred, ap->a_td)) && --- 136 unchanged lines hidden --- |