common/iavf: fix arq resource leak
Checks
Commit Message
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@dpdk.org
Signed-off-by: Qiming Chen <chenqiming_huawei@163.com>
---
drivers/common/iavf/iavf_adminq.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
Comments
> -----Original Message-----
> From: stable <stable-bounces@dpdk.org> On Behalf Of Qiming Chen
> Sent: Friday, September 10, 2021 11:13
> To: dev@dpdk.org
> Cc: Xing, Beilei <beilei.xing@intel.com>; Wu, Jingjing <jingjing.wu@intel.com>; Qiming Chen
> <chenqiming_huawei@163.com>; stable@dpdk.org
> Subject: [dpdk-stable] [PATCH] common/iavf: fix arq resource leak
>
> 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@dpdk.org
>
> Signed-off-by: Qiming Chen <chenqiming_huawei@163.com>
> ---
> drivers/common/iavf/iavf_adminq.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
Can't image that you ARE superman to cover ixgbe,ixgbevf, i40e, now iavf.
It MUST BE done by some code scan tool, I don't believe you have real time to
read the whole code. Right ?
Sometimes, Defensive programming is good, but ... I prefer to the PMD
can run well every time, if failed, it must have some bugs.
> --
> 2.30.1.windows.1
Thanks your reply.
You are right. The resource leak is indeed scanned by tools, and then manually confirmed whether it is a problem.
Our team has been developing and maintaining for many years. Because the company process is not perfect,
the bug has not been promoted to the community, resulting in a lot of accumulation. I am currently Complete these things step by step.
In the near future, I hope you will give more guidance and maintain the dpdk intel driver together.
Thanks for the tool.
Anyway, please setup your mail firstly.
Your mail reply is bad for community, you can see what it looks like:
http://patchwork.dpdk.org/project/dpdk/patch/20210910031249.11534-1-chenqiming_huawei@163.com/
The right reply is as:
https://patchwork.dpdk.org/project/dpdk/patch/20210910135205.269651-1-wenwux.ma@intel.com/
I’ve told you before: REPLY WITH plain text format, and REPLY inline.
BR,
Haiyue
From: Qiming Chen <chenqiming_huawei@163.com>
Sent: Friday, September 10, 2021 14:27
To: Wang, Haiyue <haiyue.wang@intel.com>
Cc: dev@dpdk.org; Xing, Beilei <beilei.xing@intel.com>; Wu, Jingjing <jingjing.wu@intel.com>; stable@dpdk.org
Subject: Re: [dpdk-stable] [PATCH] common/iavf: fix arq resource leak
Thanks your reply.
You are right. The resource leak is indeed scanned by tools, and then manually confirmed whether it is a problem.
Our team has been developing and maintaining for many years. Because the company process is not perfect,
the bug has not been promoted to the community, resulting in a lot of accumulation. I am currently Complete these things step by step.
In the near future, I hope you will give more guidance and maintain the dpdk intel driver together.
Can you tell me how to set up email reply? I don’t quite understand what you said about inline replies, and the green text and ">" are automatically generated?
On 9/10/2021 14:35,Wang, Haiyue<haiyue.wang@intel.com> wrote:
Thanks for the tool.
Anyway, please setup your mail firstly.
Your mail reply is bad for community, you can see what it looks like:
http://patchwork.dpdk.org/project/dpdk/patch/20210910031249.11534-1-chenqiming_huawei@163.com/
The right reply is as:
https://patchwork.dpdk.org/project/dpdk/patch/20210910135205.269651-1-wenwux.ma@intel.com/
I’ve told you before: REPLY WITH plain text format, and REPLY inline.
BR,
Haiyue
From: Qiming Chen <chenqiming_huawei@163.com>
Sent: Friday, September 10, 2021 14:27
To: Wang, Haiyue <haiyue.wang@intel.com>
Cc: dev@dpdk.org; Xing, Beilei <beilei.xing@intel.com>; Wu, Jingjing <jingjing.wu@intel.com>; stable@dpdk.org
Subject: Re: [dpdk-stable] [PATCH] common/iavf: fix arq resource leak
Thanks your reply.
You are right. The resource leak is indeed scanned by tools, and then manually confirmed whether it is a problem.
Our team has been developing and maintaining for many years. Because the company process is not perfect,
the bug has not been promoted to the community, resulting in a lot of accumulation. I am currently Complete these things step by step.
In the near future, I hope you will give more guidance and maintain the dpdk intel driver together.
> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of Qiming Chen
> Sent: Friday, September 10, 2021 11:13 AM
> To: dev@dpdk.org
> Cc: Xing, Beilei <beilei.xing@intel.com>; Wu, Jingjing <jingjing.wu@intel.com>;
> Qiming Chen <chenqiming_huawei@163.com>; stable@dpdk.org
> Subject: [dpdk-dev] [PATCH] common/iavf: fix arq resource leak
>
> 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@dpdk.org
>
> Signed-off-by: Qiming Chen <chenqiming_huawei@163.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
Applied to dpdk-next-net-intel.
Thanks
Qi
@@ -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;