patch 'common/iavf: fix ARQ resource leak' has been queued to stable release 19.11.11

christian.ehrhardt at canonical.com christian.ehrhardt at canonical.com
Tue Nov 30 17:34:12 CET 2021


Hi,

FYI, your patch has been queued to stable release 19.11.11

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before December 10th 2021. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Queued patches are on a temporary branch at:
https://github.com/cpaelzer/dpdk-stable-queue

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/18d35ae547cab73325b30e1a25ef70717338775e

Thanks.

Christian Ehrhardt <christian.ehrhardt at canonical.com>

---
>From 18d35ae547cab73325b30e1a25ef70717338775e Mon Sep 17 00:00:00 2001
From: Qiming Chen <chenqiming_huawei at 163.com>
Date: Fri, 10 Sep 2021 11:12:49 +0800
Subject: [PATCH] common/iavf: fix ARQ resource leak

[ upstream commit 395d41fbb1dd2faa21e143865ce12c195ec8194b ]

In the iavf_init_arq function, if an exception occurs in the
iavf_config_arq_regs function, and the previously applied ARQ (Admin
Receive Queue) 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")

Signed-off-by: Qiming Chen <chenqiming_huawei at 163.com>
Acked-by: Qi Zhang <qi.z.zhang at intel.com>
---
 drivers/net/iavf/base/iavf_adminq.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/net/iavf/base/iavf_adminq.c b/drivers/net/iavf/base/iavf_adminq.c
index d6943e8260..a41402e04e 100644
--- a/drivers/net/iavf/base/iavf_adminq.c
+++ b/drivers/net/iavf/base/iavf_adminq.c
@@ -431,7 +431,7 @@ enum iavf_status_code 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;
@@ -439,6 +439,10 @@ enum iavf_status_code 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.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:08.860702129 +0100
+++ 0048-common-iavf-fix-ARQ-resource-leak.patch	2021-11-30 16:50:05.670872649 +0100
@@ -1 +1 @@
-From 395d41fbb1dd2faa21e143865ce12c195ec8194b Mon Sep 17 00:00:00 2001
+From 18d35ae547cab73325b30e1a25ef70717338775e Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 395d41fbb1dd2faa21e143865ce12c195ec8194b ]
+
@@ -12 +13,0 @@
-Cc: stable at dpdk.org
@@ -17 +18 @@
- drivers/common/iavf/iavf_adminq.c | 6 +++++-
+ drivers/net/iavf/base/iavf_adminq.c | 6 +++++-
@@ -20,5 +21,5 @@
-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)
+diff --git a/drivers/net/iavf/base/iavf_adminq.c b/drivers/net/iavf/base/iavf_adminq.c
+index d6943e8260..a41402e04e 100644
+--- a/drivers/net/iavf/base/iavf_adminq.c
++++ b/drivers/net/iavf/base/iavf_adminq.c
+@@ -431,7 +431,7 @@ enum iavf_status_code iavf_init_arq(struct iavf_hw *hw)
@@ -33 +34 @@
-@@ -425,6 +425,10 @@ enum iavf_status iavf_init_arq(struct iavf_hw *hw)
+@@ -439,6 +439,10 @@ enum iavf_status_code iavf_init_arq(struct iavf_hw *hw)


More information about the stable mailing list