diff mbox series

crypto: api - Disallow identical driver names

Message ID ZXGgSXjEUmitiFgw@gondor.apana.org.au (mailing list archive)
State Accepted
Delegated to: Herbert Xu
Headers show
Series crypto: api - Disallow identical driver names | expand

Commit Message

Herbert Xu Dec. 7, 2023, 10:36 a.m. UTC
On Wed, Dec 06, 2023 at 10:37:43PM +0200, ovidiu.panait@windriver.com wrote:
>
> When the alg name contains extra bogus characters after a valid template,
> the bind() call fails, but a duplicated entry is still registered (in this
> case xts(ecb(aes-generic))).
> 
> To fix this, add a check in cryptomgr_schedule_probe() for trailing
> characters after a valid template.

Thanks for the report!

This is definitely not good.  However, I think it's an existing
bug in the algorithm registration code:

---8<---
Disallow registration of two algorithms with identical driver names.

Cc: <stable@vger.kernel.org>
Reported-by: Ovidiu Panait <ovidiu.panait@windriver.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
diff mbox series

Patch

diff --git a/crypto/algapi.c b/crypto/algapi.c
index 4fe95c448047..85bc279b4233 100644
--- a/crypto/algapi.c
+++ b/crypto/algapi.c
@@ -341,6 +341,7 @@  __crypto_register_alg(struct crypto_alg *alg, struct list_head *algs_to_put)
 		}
 
 		if (!strcmp(q->cra_driver_name, alg->cra_name) ||
+		    !strcmp(q->cra_driver_name, alg->cra_driver_name) ||
 		    !strcmp(q->cra_name, alg->cra_driver_name))
 			goto err;
 	}