[PATCH 3/9] generic/314, afs: Allow for a filesystem that doesn't honour SGID inheritance

David Howells dhowells at redhat.com
Tue May 25 06:34:09 PDT 2021


The AFS filesystem doesn't do any special handling for the SUID, SGID and
SVTX bits and doesn't perform any sort of propagation.  Further, only a
user with cell admin rights can set non-0777 bits.

Handle this by adding a "_require_sgid_inheritance" clause and labelling
the test with it, thereby skipping for filesystems that don't support it.

Signed-off-by: David Howells <dhowells at redhat.com>
cc: linux-afs at lists.infradead.org
---

 common/rc                    |    9 +++++++++
 doc/requirement-checking.txt |    7 +++++++
 tests/generic/314            |    1 +
 3 files changed, 17 insertions(+)

diff --git a/common/rc b/common/rc
index 4ffec9a2..4d4b0280 100644
--- a/common/rc
+++ b/common/rc
@@ -4613,6 +4613,15 @@ _has_mknod()
 	esac
 }
 
+_require_sgid_inheritance()
+{
+	case $FSTYP in
+	afs)
+		_notrun "SGID-based group ID inheritance is not supported on $FSTYP"
+		;;
+	esac
+}
+
 init_rc
 
 ################################################################################
diff --git a/doc/requirement-checking.txt b/doc/requirement-checking.txt
index d31ba3fb..6efc8dc8 100644
--- a/doc/requirement-checking.txt
+++ b/doc/requirement-checking.txt
@@ -18,6 +18,7 @@ they have.  This is done with _require_<xxx> macros, which may take parameters.
 	_require_exportfs
 	_require_mknod
 	_has_mknod
+	_require_sgid_inheritance
 
  (3) System call requirements.
 
@@ -106,6 +107,12 @@ _has_mknod
      _require_mknod will cause the test to be skipped; _has_mknod returns 0 if
      mknod is supported and 1 otherwise.
 
+_require_sgid_inheritance
+
+     The test required that the $TEST_DEV filesystem supports the inheritance
+     of the SGID bit and the GID from a marked directory.  The test will be
+     skipped if not supported.
+
 
 ========================
 SYSTEM CALL REQUIREMENTS
diff --git a/tests/generic/314 b/tests/generic/314
index 540f0feb..8ed08542 100755
--- a/tests/generic/314
+++ b/tests/generic/314
@@ -30,6 +30,7 @@ _supported_fs generic
 _require_test
 _require_user
 _require_chown
+_require_sgid_inheritance
 
 rm -rf $TEST_DIR/$seq-dir
 





More information about the linux-afs mailing list