diff mbox series

[RFC] crypto: zlib-deflate - add zlib-deflate test case in tcrypt

Message ID 1569553515-47426-1-git-send-email-wangzhou1@hisilicon.com (mailing list archive)
State RFC
Delegated to: Herbert Xu
Headers show
Series [RFC] crypto: zlib-deflate - add zlib-deflate test case in tcrypt | expand

Commit Message

Zhou Wang Sept. 27, 2019, 3:05 a.m. UTC
As a type CRYPTO_ALG_TYPE_ACOMPRESS is needed to trigger crypto acomp test,
we introduce a new help function tcrypto_test_extend to pass type and mask
to alg_test.

Then tcrypto module can be used to do basic acomp test by:
insmod tcrypto.ko alg="zlib-deflate" mode=55 type=10

Signed-off-by: Zhou Wang <wangzhou1@hisilicon.com>
---
 crypto/tcrypt.c | 19 ++++++++++++++++++-
 1 file changed, 18 insertions(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/crypto/tcrypt.c b/crypto/tcrypt.c
index 83ad0b1..6ad821c 100644
--- a/crypto/tcrypt.c
+++ b/crypto/tcrypt.c
@@ -72,7 +72,7 @@  static char *check[] = {
 	"khazad", "wp512", "wp384", "wp256", "tnepres", "xeta",  "fcrypt",
 	"camellia", "seed", "salsa20", "rmd128", "rmd160", "rmd256", "rmd320",
 	"lzo", "lzo-rle", "cts", "sha3-224", "sha3-256", "sha3-384",
-	"sha3-512", "streebog256", "streebog512",
+	"sha3-512", "streebog256", "streebog512", "zlib-deflate",
 	NULL
 };
 
@@ -1657,6 +1657,19 @@  static inline int tcrypt_test(const char *alg)
 	return ret;
 }
 
+static inline int tcrypt_test_extend(const char *alg, u32 type, u32 mask)
+{
+	int ret;
+
+	pr_debug("testing %s\n", alg);
+
+	ret = alg_test(alg, alg, type, mask);
+	/* non-fips algs return -EINVAL in fips mode */
+	if (fips_enabled && ret == -EINVAL)
+		ret = 0;
+	return ret;
+}
+
 static int do_test(const char *alg, u32 type, u32 mask, int m, u32 num_mb)
 {
 	int i;
@@ -1919,6 +1932,10 @@  static int do_test(const char *alg, u32 type, u32 mask, int m, u32 num_mb)
 		ret += tcrypt_test("streebog512");
 		break;
 
+	case 55:
+		ret += tcrypt_test_extend("zlib-deflate", type, mask);
+		break;
+
 	case 100:
 		ret += tcrypt_test("hmac(md5)");
 		break;