crypto: engine - Remove CRYPTO_ALG_ENGINE bit
authorHerbert Xu <herbert@gondor.apana.org.au>
Thu, 24 Apr 2025 14:42:51 +0000 (22:42 +0800)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 25 Apr 2025 02:46:04 +0000 (10:46 +0800)
Remove the private and obsolete CRYPTO_ALG_ENGINE bit which is
conflicting with the new CRYPTO_ALG_DUP_FIRST bit.

Reported-by: Corentin Labbe <clabbe.montjoie@gmail.com>
Fixes: f1440a90465b ("crypto: api - Add support for duplicating algorithms before registration")
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
crypto/crypto_engine.c

index c7c16da5e6496c82f59d9ba9bf0c3aeda4612def..445d3c113ee105b4d2e065491f40b40f49258cd4 100644 (file)
@@ -23,9 +23,6 @@
 
 #define CRYPTO_ENGINE_MAX_QLEN 10
 
-/* Temporary algorithm flag used to indicate an updated driver. */
-#define CRYPTO_ALG_ENGINE 0x200
-
 struct crypto_engine_alg {
        struct crypto_alg base;
        struct crypto_engine_op op;
@@ -148,16 +145,9 @@ start_request:
                }
        }
 
-       if (async_req->tfm->__crt_alg->cra_flags & CRYPTO_ALG_ENGINE) {
-               alg = container_of(async_req->tfm->__crt_alg,
-                                  struct crypto_engine_alg, base);
-               op = &alg->op;
-       } else {
-               dev_err(engine->dev, "failed to do request\n");
-               ret = -EINVAL;
-               goto req_err_1;
-       }
-
+       alg = container_of(async_req->tfm->__crt_alg,
+                          struct crypto_engine_alg, base);
+       op = &alg->op;
        ret = op->do_one_request(engine, async_req);
 
        /* Request unsuccessfully executed by hardware */
@@ -569,9 +559,6 @@ int crypto_engine_register_aead(struct aead_engine_alg *alg)
 {
        if (!alg->op.do_one_request)
                return -EINVAL;
-
-       alg->base.base.cra_flags |= CRYPTO_ALG_ENGINE;
-
        return crypto_register_aead(&alg->base);
 }
 EXPORT_SYMBOL_GPL(crypto_engine_register_aead);
@@ -614,9 +601,6 @@ int crypto_engine_register_ahash(struct ahash_engine_alg *alg)
 {
        if (!alg->op.do_one_request)
                return -EINVAL;
-
-       alg->base.halg.base.cra_flags |= CRYPTO_ALG_ENGINE;
-
        return crypto_register_ahash(&alg->base);
 }
 EXPORT_SYMBOL_GPL(crypto_engine_register_ahash);
@@ -660,9 +644,6 @@ int crypto_engine_register_akcipher(struct akcipher_engine_alg *alg)
 {
        if (!alg->op.do_one_request)
                return -EINVAL;
-
-       alg->base.base.cra_flags |= CRYPTO_ALG_ENGINE;
-
        return crypto_register_akcipher(&alg->base);
 }
 EXPORT_SYMBOL_GPL(crypto_engine_register_akcipher);
@@ -677,9 +658,6 @@ int crypto_engine_register_kpp(struct kpp_engine_alg *alg)
 {
        if (!alg->op.do_one_request)
                return -EINVAL;
-
-       alg->base.base.cra_flags |= CRYPTO_ALG_ENGINE;
-
        return crypto_register_kpp(&alg->base);
 }
 EXPORT_SYMBOL_GPL(crypto_engine_register_kpp);
@@ -694,9 +672,6 @@ int crypto_engine_register_skcipher(struct skcipher_engine_alg *alg)
 {
        if (!alg->op.do_one_request)
                return -EINVAL;
-
-       alg->base.base.cra_flags |= CRYPTO_ALG_ENGINE;
-
        return crypto_register_skcipher(&alg->base);
 }
 EXPORT_SYMBOL_GPL(crypto_engine_register_skcipher);