lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <tencent_D4F8982BC9797B5EE01759574F512CF7E506@qq.com>
Date: Thu, 18 Dec 2025 11:18:58 +0800
From: Yuwen Chen <ywen.chen@...mail.com>
To: xiang@...nel.org
Cc: chao@...nel.org,
	huyue2@...lpad.com,
	jefflexu@...ux.alibaba.com,
	linux-erofs@...ts.ozlabs.org,
	linux-kernel@...r.kernel.org,
	Yuwen Chen <ywen.chen@...mail.com>
Subject: [PATCH] erofs: print the names of unsupported compression algorithms

After simplifying the implementation of z_erofs_parse_cfgs, the
names of unsupported algorithms can now be directly output.
Moreover, some unnecessary additional judgments can be removed.

Signed-off-by: Yuwen Chen <ywen.chen@...mail.com>
---
 fs/erofs/decompressor.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/fs/erofs/decompressor.c b/fs/erofs/decompressor.c
index be1e19b620523..866bd9158615b 100644
--- a/fs/erofs/decompressor.c
+++ b/fs/erofs/decompressor.c
@@ -385,21 +385,22 @@ const struct z_erofs_decompressor erofs_decompressors[] = {
 		.decompress = z_erofs_lz4_decompress,
 		.name = "lz4"
 	},
-#ifdef CONFIG_EROFS_FS_ZIP_LZMA
 	[Z_EROFS_COMPRESSION_LZMA] = {
+#ifdef CONFIG_EROFS_FS_ZIP_LZMA
 		.config = z_erofs_load_lzma_config,
 		.decompress = z_erofs_lzma_decompress,
+#endif
 		.name = "lzma"
 	},
-#endif
-#ifdef CONFIG_EROFS_FS_ZIP_DEFLATE
 	[Z_EROFS_COMPRESSION_DEFLATE] = {
+#ifdef CONFIG_EROFS_FS_ZIP_DEFLATE
 		.config = z_erofs_load_deflate_config,
 		.decompress = z_erofs_deflate_decompress,
+#endif
 		.name = "deflate"
 	},
-#endif
 };
+static_assert(Z_EROFS_COMPRESSION_RUNTIME_MAX == ARRAY_SIZE(erofs_decompressors));
 
 int z_erofs_parse_cfgs(struct super_block *sb, struct erofs_super_block *dsb)
 {
@@ -433,10 +434,9 @@ int z_erofs_parse_cfgs(struct super_block *sb, struct erofs_super_block *dsb)
 			break;
 		}
 
-		if (alg >= ARRAY_SIZE(erofs_decompressors) ||
-		    !erofs_decompressors[alg].config) {
-			erofs_err(sb, "algorithm %ld isn't enabled on this kernel",
-				  alg);
+		if (!erofs_decompressors[alg].config) {
+			erofs_err(sb, "algorithm %s isn't enabled on this kernel",
+				  erofs_decompressors[alg].name);
 			ret = -EOPNOTSUPP;
 		} else {
 			ret = erofs_decompressors[alg].config(sb,
-- 
2.34.1


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ