crypto: af_alg - Add nokey compatibility path
[linux-drm-fsl-dcu.git] / crypto / cryptd.c
index c81861b1350b60a1c2def7695dd16d7b0db39ade..7921251cdb13dccf54841da79b7c9ab7d34fae25 100644 (file)
@@ -637,6 +637,7 @@ static int cryptd_create_hash(struct crypto_template *tmpl, struct rtattr **tb,
        inst->alg.halg.base.cra_flags = type;
 
        inst->alg.halg.digestsize = salg->digestsize;
+       inst->alg.halg.statesize = salg->statesize;
        inst->alg.halg.base.cra_ctxsize = sizeof(struct cryptd_hash_ctx);
 
        inst->alg.halg.base.cra_init = cryptd_hash_init_tfm;
@@ -887,8 +888,7 @@ struct cryptd_ablkcipher *cryptd_alloc_ablkcipher(const char *alg_name,
        if (snprintf(cryptd_alg_name, CRYPTO_MAX_ALG_NAME,
                     "cryptd(%s)", alg_name) >= CRYPTO_MAX_ALG_NAME)
                return ERR_PTR(-EINVAL);
-       type &= ~(CRYPTO_ALG_TYPE_MASK | CRYPTO_ALG_GENIV);
-       type |= CRYPTO_ALG_TYPE_BLKCIPHER;
+       type = crypto_skcipher_type(type);
        mask &= ~CRYPTO_ALG_TYPE_MASK;
        mask |= (CRYPTO_ALG_GENIV | CRYPTO_ALG_TYPE_BLKCIPHER_MASK);
        tfm = crypto_alloc_base(cryptd_alg_name, type, mask);