[PATCH] crypto: api - Disallow identical driver names

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

 



On Wed, Dec 06, 2023 at 10:37:43PM +0200, ovidiu.panait@xxxxxxxxxxxxx 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@xxxxxxxxxxxxxxx>
Reported-by: Ovidiu Panait <ovidiu.panait@xxxxxxxxxxxxx>
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>

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;
 	}
-- 
Email: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt




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