summaryrefslogtreecommitdiffstats
path: root/sys/fs
diff options
context:
space:
mode:
authormaxim <maxim@FreeBSD.org>2002-03-14 11:18:42 +0000
committermaxim <maxim@FreeBSD.org>2002-03-14 11:18:42 +0000
commit92c24ff925c748759ab5313202a4da1b78ef2d4b (patch)
tree5069efb020d2bbc611965b49b1dc09a2cc3805d5 /sys/fs
parent1bda6219a26483fe931cfe705c2614da69e2fc73 (diff)
downloadFreeBSD-src-92c24ff925c748759ab5313202a4da1b78ef2d4b.zip
FreeBSD-src-92c24ff925c748759ab5313202a4da1b78ef2d4b.tar.gz
Be consistent with UFS in a way how devfs_setattr() checks credentials
for chmod(2), chown(2) and utimes(2) with respect to jail(2). Reviewed by: rwatson, ru Not objected by: phk Approved by: ru
Diffstat (limited to 'sys/fs')
-rw-r--r--sys/fs/devfs/devfs_vnops.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/sys/fs/devfs/devfs_vnops.c b/sys/fs/devfs/devfs_vnops.c
index e3c27a5..aac1151 100644
--- a/sys/fs/devfs/devfs_vnops.c
+++ b/sys/fs/devfs/devfs_vnops.c
@@ -718,7 +718,8 @@ devfs_setattr(ap)
if (uid != de->de_uid || gid != de->de_gid) {
if (((ap->a_cred->cr_uid != de->de_uid) || uid != de->de_uid ||
(gid != de->de_gid && !groupmember(gid, ap->a_cred))) &&
- (error = suser(ap->a_td->td_proc)) != 0)
+ (error = suser_xxx(NULL, ap->a_td->td_proc,
+ PRISON_ROOT)) != 0)
return (error);
de->de_uid = uid;
de->de_gid = gid;
@@ -735,21 +736,21 @@ devfs_setattr(ap)
if (vap->va_mode != (mode_t)VNOVAL) {
if ((ap->a_cred->cr_uid != de->de_uid) &&
- (error = suser(ap->a_td->td_proc)))
+ (error = suser_xxx(NULL, ap->a_td->td_proc, PRISON_ROOT)))
return (error);
de->de_mode = vap->va_mode;
c = 1;
}
if (vap->va_atime.tv_sec != VNOVAL) {
if ((ap->a_cred->cr_uid != de->de_uid) &&
- (error = suser(ap->a_td->td_proc)))
+ (error = suser_xxx(NULL, ap->a_td->td_proc, PRISON_ROOT)))
return (error);
de->de_atime = vap->va_atime;
c = 1;
}
if (vap->va_mtime.tv_sec != VNOVAL) {
if ((ap->a_cred->cr_uid != de->de_uid) &&
- (error = suser(ap->a_td->td_proc)))
+ (error = suser_xxx(NULL, ap->a_td->td_proc, PRISON_ROOT)))
return (error);
de->de_mtime = vap->va_mtime;
c = 1;
OpenPOWER on IntegriCloud