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@xxxxxxxxxxxxx> --- 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