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 <wangzh...@hisilicon.com>
>> ---
>>  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,
> 

Reply via email to