[dpdk-stable] [PATCH] common/iavf: fix arq resource leak
Qiming Chen
chenqiming_huawei at 163.com
Fri Sep 10 05:12:49 CEST 2021
In the iavf_init_arq function, if an exception occurs in the
iavf_config_arq_regs function, and the previously applied arq bufs
resource is released. This patch maintains the same modification
as the iavf_init_asq function to roll back resources.
Fixes: 87aca6d8d8a4 ("net/iavf/base: fix command buffer memory leak")
Cc: stable at dpdk.org
Signed-off-by: Qiming Chen <chenqiming_huawei at 163.com>
---
drivers/common/iavf/iavf_adminq.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/drivers/common/iavf/iavf_adminq.c b/drivers/common/iavf/iavf_adminq.c
index 0bf5af0cbe..9c36e8908e 100644
--- a/drivers/common/iavf/iavf_adminq.c
+++ b/drivers/common/iavf/iavf_adminq.c
@@ -417,7 +417,7 @@ enum iavf_status iavf_init_arq(struct iavf_hw *hw)
/* initialize base registers */
ret_code = iavf_config_arq_regs(hw);
if (ret_code != IAVF_SUCCESS)
- goto init_adminq_free_rings;
+ goto init_config_regs;
/* success! */
hw->aq.arq.count = hw->aq.num_arq_entries;
@@ -425,6 +425,10 @@ enum iavf_status iavf_init_arq(struct iavf_hw *hw)
init_adminq_free_rings:
iavf_free_adminq_arq(hw);
+ return ret_code;
+
+init_config_regs:
+ iavf_free_arq_bufs(hw);
init_adminq_exit:
return ret_code;
--
2.30.1.windows.1
More information about the stable
mailing list