2019-09-27 03:12:47

by Zhou Wang

[permalink] [raw]
Subject: [RFC PATCH] crypto: zlib-deflate - add zlib-deflate test case in tcrypt

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 <[email protected]>
---
crypto/tcrypt.c | 19 ++++++++++++++++++-
1 file changed, 18 insertions(+), 1 deletion(-)

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;
--
2.8.1