Re: [PATCH 5/8] crypto:chcr: Change cra_flags for cipher algos

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Herbert

On Fri, Jan 27, 2017 at 4:09 PM, Harsh Jain <harsh@xxxxxxxxxxx> wrote:
> Change cipher algos flags to CRYPTO_ALG_TYPE_ABLKCIPHER.
>
> Signed-off-by: Harsh Jain <harsh@xxxxxxxxxxx>
> ---
>  drivers/crypto/chelsio/chcr_algo.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/crypto/chelsio/chcr_algo.c b/drivers/crypto/chelsio/chcr_algo.c
> index d335943..21fc04c 100644
> --- a/drivers/crypto/chelsio/chcr_algo.c
> +++ b/drivers/crypto/chelsio/chcr_algo.c
> @@ -171,7 +171,7 @@ int chcr_handle_resp(struct crypto_async_request *req, unsigned char *input,
>                 }
>                 break;
>
> -       case CRYPTO_ALG_TYPE_BLKCIPHER:
> +       case CRYPTO_ALG_TYPE_ABLKCIPHER:
>                 ctx_req.req.ablk_req = (struct ablkcipher_request *)req;
>                 ctx_req.ctx.ablk_ctx =
>                         ablkcipher_request_ctx(ctx_req.req.ablk_req);
> @@ -2492,7 +2492,7 @@ static int chcr_aead_op(struct aead_request *req,
>                         .cra_name               = "cbc(aes)",
>                         .cra_driver_name        = "cbc-aes-chcr",
>                         .cra_priority           = CHCR_CRA_PRIORITY,
> -                       .cra_flags              = CRYPTO_ALG_TYPE_BLKCIPHER |
> +                       .cra_flags              = CRYPTO_ALG_TYPE_ABLKCIPHER |
>                                 CRYPTO_ALG_ASYNC,
>                         .cra_blocksize          = AES_BLOCK_SIZE,
>                         .cra_ctxsize            = sizeof(struct chcr_context)
> @@ -2519,7 +2519,7 @@ static int chcr_aead_op(struct aead_request *req,
>                         .cra_name               = "xts(aes)",
>                         .cra_driver_name        = "xts-aes-chcr",
>                         .cra_priority           = CHCR_CRA_PRIORITY,
> -                       .cra_flags              = CRYPTO_ALG_TYPE_BLKCIPHER |
> +                       .cra_flags              = CRYPTO_ALG_TYPE_ABLKCIPHER |
>                                 CRYPTO_ALG_ASYNC,
>                         .cra_blocksize          = AES_BLOCK_SIZE,
>                         .cra_ctxsize            = sizeof(struct chcr_context) +

If I try above patch on 4.9.13 stable kernel. Kernel  stops executing
tests for cbc(aes), Same is working fine on cryptodev-2.6 latest tree.
It seems below patch set has changed the behavior.


crypto: testmgr - Do not test internal algorithms


diff --git a/crypto/algboss.c b/crypto/algboss.c
index 6e39d9c..ccb85e1 100644
--- a/crypto/algboss.c
+++ b/crypto/algboss.c
@@ -247,12 +247,8 @@ static int cryptomgr_schedule_test(struct crypto_alg *alg)
memcpy(param->alg, alg->cra_name, sizeof(param->alg));
type = alg->cra_flags;
- /* This piece of crap needs to disappear into per-type test hooks. */
- if (!((type ^ CRYPTO_ALG_TYPE_BLKCIPHER) &
- CRYPTO_ALG_TYPE_BLKCIPHER_MASK) && !(type & CRYPTO_ALG_GENIV) &&
- ((alg->cra_flags & CRYPTO_ALG_TYPE_MASK) ==
- CRYPTO_ALG_TYPE_BLKCIPHER ? alg->cra_blkcipher.ivsize :
- alg->cra_ablkcipher.ivsize))
+ /* Do not test internal algorithms. */
+ if (type & CRYPTO_ALG_INTERNAL)
type |= CRYPTO_ALG_TESTED;

Its bit confusing for me. Are we supposed to declared it as
"CRYPTO_ALG_TYPE_BLKCIPHER" for older kernels.

Regards
Harsh Jain



[Index of Archives]     [Kernel]     [Gnu Classpath]     [Gnu Crypto]     [DM Crypt]     [Netfilter]     [Bugtraq]

  Powered by Linux