[PATCH] crypto/mlx5: fix crypto dev leak

Suanming Mou suanmingm at nvidia.com
Thu Nov 9 08:33:17 CET 2023


For the case crypto initialize failed, the allocated crypto dev should
be destroyed, otherwise the dev leaked. Current PMD returns directly
instead of releasing the dev.

This commit fixes the crypto dev leak when initialize failed.

Fixes: a27f6a2e1f30 ("crypto/mlx5: split AES-XTS")
Signed-off-by: Suanming Mou <suanmingm at nvidia.com>
Acked-by: Matan Azrad <matan at nvidia.com>
---
 drivers/crypto/mlx5/mlx5_crypto.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/crypto/mlx5/mlx5_crypto.c b/drivers/crypto/mlx5/mlx5_crypto.c
index 081e96ad4d..4bac723c8b 100644
--- a/drivers/crypto/mlx5/mlx5_crypto.c
+++ b/drivers/crypto/mlx5/mlx5_crypto.c
@@ -383,12 +383,14 @@ mlx5_crypto_dev_probe(struct mlx5_common_device *cdev,
 	if (devarg_prms.is_aes_gcm) {
 		ret = mlx5_crypto_gcm_init(priv);
 		if (ret) {
+			rte_cryptodev_pmd_destroy(priv->crypto_dev);
 			DRV_LOG(ERR, "Failed to init AES-GCM crypto.");
 			return -ENOTSUP;
 		}
 	} else {
 		ret = mlx5_crypto_xts_init(priv);
 		if (ret) {
+			rte_cryptodev_pmd_destroy(priv->crypto_dev);
 			DRV_LOG(ERR, "Failed to init AES-XTS crypto.");
 			return -ENOTSUP;
 		}
-- 
2.34.1



More information about the dev mailing list