From: Darrick J. Wong Date: Thu, 24 Apr 2025 21:41:02 +0000 (-0700) Subject: fuse2fs: refuse unsupported features X-Git-Tag: archive/debian/1.47.2-2~19 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=746811f345bfd906182cd540b3c3b64846294199;p=thirdparty%2Fe2fsprogs.git fuse2fs: refuse unsupported features Don't mount a filesystem with superblock features that we don't actually know how to support. Signed-off-by: Darrick J. Wong Link: https://lore.kernel.org/r/174553064943.1160461.14810321477577468832.stgit@frogsfrogsfrogs Signed-off-by: Theodore Ts'o (cherry picked from commit ccbc6f24fed095b28f9faa7b575159e49787fae0) --- diff --git a/misc/fuse2fs.c b/misc/fuse2fs.c index a6390ab5..2e046320 100644 --- a/misc/fuse2fs.c +++ b/misc/fuse2fs.c @@ -3863,6 +3863,26 @@ int main(int argc, char *argv[]) ret = 3; + if (ext2fs_has_feature_quota(global_fs->super)) { + printf(_("%s: quotas not supported."), fctx.device); + goto out; + } + if (ext2fs_has_feature_verity(global_fs->super)) { + printf(_("%s: verity not supported."), fctx.device); + goto out; + } + if (ext2fs_has_feature_encrypt(global_fs->super)) { + printf(_("%s: encryption not supported."), fctx.device); + goto out; + } + if (ext2fs_has_feature_casefold(global_fs->super)) { + printf(_("%s: casefolding not supported."), fctx.device); + goto out; + } + + if (ext2fs_has_feature_shared_blocks(global_fs->super)) + fctx.ro = 1; + if (ext2fs_has_feature_journal_needs_recovery(global_fs->super)) { if (fctx.norecovery) { printf(_("%s: mounting read-only without "