On 2019/10/18 15:14, Herbert Xu wrote: > On Thu, Oct 10, 2019 at 04:21:47PM +0800, Zhou Wang wrote: >> 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; >> + > > Is this really needed? When you do > > modprobe tcrypt alg="zlib-deflate" type=10 mask=15 > > It should cause zlib-defalte to be registered as acomp and therefore > tested automatically. seems it can not work, when I run insmod tcrypt.ko alg="zlib-deflate" type=10 mask=15 I got: insmod: can't insert 'tcrypt.ko': Resource temporarily unavailable crypto_has_alg in case 0 in do_test does find "zlib-deflate", however, it breaks and do nothing about test. Best, Zhou > > Cheers, >