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 <[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;
> +
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.
Cheers,
--
Email: Herbert Xu <[email protected]>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt