[dpdk-dev] [PATCH] crypto/mlx5: fix driver probing error flow
Michael Baum
michaelba at nvidia.com
Thu Jul 29 08:50:00 CEST 2021
In crypto driver probing, there are two validations after context
allocation.
When one of them fails, the context structure was not freed what caused
a memory leak.
Free it.
Fixes: debb27ea3442 ("crypto/mlx5: create login object using DevX")
Fixes: e8db4413cba5 ("crypto/mlx5: add keytag configuration")
Cc: stable at dpdk.org
Signed-off-by: Michael Baum <michaelba 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 ea734f4d5c..b3d5200ca3 100644
--- a/drivers/crypto/mlx5/mlx5_crypto.c
+++ b/drivers/crypto/mlx5/mlx5_crypto.c
@@ -1021,12 +1021,14 @@ mlx5_crypto_dev_probe(struct rte_device *dev)
ret = mlx5_crypto_parse_devargs(dev->devargs, &devarg_prms);
if (ret) {
DRV_LOG(ERR, "Failed to parse devargs.");
+ claim_zero(mlx5_glue->close_device(ctx));
return -rte_errno;
}
login = mlx5_devx_cmd_create_crypto_login_obj(ctx,
&devarg_prms.login_attr);
if (login == NULL) {
DRV_LOG(ERR, "Failed to configure login.");
+ claim_zero(mlx5_glue->close_device(ctx));
return -rte_errno;
}
crypto_dev = rte_cryptodev_pmd_create(ibv->name, dev,
--
2.25.1
More information about the dev
mailing list