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