Module Name: src
Committed By: christos
Date: Tue Nov 24 16:38:31 UTC 2020
Modified Files:
src/sys/fs/ptyfs: ptyfs_vnops.c
Log Message:
PR/55821: tar can not extract base.tgz anymore (./dev/pts and mounted ptyfs)
Allow chown/chmod at the root of ptyfs.
To generate a diff of this commit:
cvs rdiff -u -r1.60 -r1.61 src/sys/fs/ptyfs/ptyfs_vnops.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/fs/ptyfs/ptyfs_vnops.c
diff -u src/sys/fs/ptyfs/ptyfs_vnops.c:1.60 src/sys/fs/ptyfs/ptyfs_vnops.c:1.61
--- src/sys/fs/ptyfs/ptyfs_vnops.c:1.60 Sat Jun 27 13:29:18 2020
+++ src/sys/fs/ptyfs/ptyfs_vnops.c Tue Nov 24 11:38:31 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: ptyfs_vnops.c,v 1.60 2020/06/27 17:29:18 christos Exp $ */
+/* $NetBSD: ptyfs_vnops.c,v 1.61 2020/11/24 16:38:31 christos Exp $ */
/*
* Copyright (c) 1993, 1995
@@ -76,7 +76,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ptyfs_vnops.c,v 1.60 2020/06/27 17:29:18 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ptyfs_vnops.c,v 1.61 2020/11/24 16:38:31 christos Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -456,8 +456,6 @@ ptyfs_setattr(void *v)
if (vap->va_uid != (uid_t)VNOVAL || vap->va_gid != (gid_t)VNOVAL) {
if (vp->v_mount->mnt_flag & MNT_RDONLY)
return EROFS;
- if (ptyfs->ptyfs_type == PTYFSroot)
- return EPERM;
error = ptyfs_chown(vp, vap->va_uid, vap->va_gid, cred, l);
if (error)
return error;
@@ -492,8 +490,6 @@ ptyfs_setattr(void *v)
if (vap->va_mode != (mode_t)VNOVAL) {
if (vp->v_mount->mnt_flag & MNT_RDONLY)
return EROFS;
- if (ptyfs->ptyfs_type == PTYFSroot)
- return EPERM;
if ((ptyfs->ptyfs_flags & SF_SNAPSHOT) != 0 &&
(vap->va_mode &
(S_IXUSR|S_IWUSR|S_IXGRP|S_IWGRP|S_IXOTH|S_IWOTH)))