From: Kishore Padmanabha <[email protected]>
bnxt_hwrm_func_vf_vnic_query_and_config() allocates vnic_ids before
calling bnxt_hwrm_func_vf_vnic_query(), but returns without freeing it
when that call fails.
Free vnic_ids on the error path too.
Fixes: 49947a13ba9e ("net/bnxt: support Tx loopback, set VF MAC and queues
drop")
Cc: [email protected]
Signed-off-by: Kishore Padmanabha <[email protected]>
Signed-off-by: Mohammad Shuab Siddique <[email protected]>
---
drivers/net/bnxt/bnxt_hwrm.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/net/bnxt/bnxt_hwrm.c b/drivers/net/bnxt/bnxt_hwrm.c
index 99539d3705..dee35758e1 100644
--- a/drivers/net/bnxt/bnxt_hwrm.c
+++ b/drivers/net/bnxt/bnxt_hwrm.c
@@ -6280,8 +6280,10 @@ int bnxt_hwrm_func_vf_vnic_query_and_config(struct bnxt
*bp, uint16_t vf,
num_vnic_ids = bnxt_hwrm_func_vf_vnic_query(bp, vf, vnic_ids);
- if (num_vnic_ids < 0)
+ if (num_vnic_ids < 0) {
+ rte_free(vnic_ids);
return num_vnic_ids;
+ }
/* Retrieve VNIC, update bd_stall then update */
--
2.47.3