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 <suanmi...@nvidia.com> Acked-by: Matan Azrad <ma...@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