[dpdk-dev] net/cxgbe: fix memory leak
Checks
Commit Message
In function t4_wr_mbox_meat_timeout(), Dynamic memory stored
in 'temp' not free when the functon return, It possible memory
leak.
Signed-off-by: Congwen Zhang <zhang.congwen@zte.com.cn>
---
drivers/net/cxgbe/base/t4_hw.c | 3 +++
1 file changed, 3 insertions(+)
Comments
On Tuesday, September 09/05/17, 2017 at 14:16:57 +0530, Congwen Zhang wrote:
> In function t4_wr_mbox_meat_timeout(), Dynamic memory stored
> in 'temp' not free when the functon return, It possible memory
> leak.
>
> Signed-off-by: Congwen Zhang <zhang.congwen@zte.com.cn>
> ---
> drivers/net/cxgbe/base/t4_hw.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/net/cxgbe/base/t4_hw.c b/drivers/net/cxgbe/base/t4_hw.c
> index a8ccea0..013d996 100644
> --- a/drivers/net/cxgbe/base/t4_hw.c
> +++ b/drivers/net/cxgbe/base/t4_hw.c
> @@ -403,6 +403,7 @@ int t4_wr_mbox_meat_timeout(struct adapter *adap, int mbox,
> t4_os_atomic_list_del(&entry, &adap->mbox_list,
> &adap->mbox_lock);
> t4_report_fw_error(adap);
> + free(temp);
> return (pcie_fw & F_PCIE_FW_ERR) ? -ENXIO : -EBUSY;
> }
>
> @@ -446,6 +447,7 @@ int t4_wr_mbox_meat_timeout(struct adapter *adap, int mbox,
> &adap->mbox_list,
> &adap->mbox_lock));
> t4_report_fw_error(adap);
> + free(temp);
> return (v == X_MBOWNER_FW ? -EBUSY : -ETIMEDOUT);
> }
>
> @@ -546,6 +548,7 @@ int t4_wr_mbox_meat_timeout(struct adapter *adap, int mbox,
> T4_OS_MBOX_LOCKING(
> t4_os_atomic_list_del(&entry, &adap->mbox_list,
> &adap->mbox_lock));
> + free(temp);
> return -G_FW_CMD_RETVAL((int)res);
> }
> }
> --
> 1.8.3.1
>
Thanks for the fix!
Acked-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
On 9/6/2017 10:25 AM, Rahul Lakkireddy wrote:
> On Tuesday, September 09/05/17, 2017 at 14:16:57 +0530, Congwen Zhang wrote:
>> In function t4_wr_mbox_meat_timeout(), Dynamic memory stored
>> in 'temp' not free when the functon return, It possible memory
>> leak.
Fixes: 3bd122eef2cc ("cxgbe/base: add hardware API for Chelsio T5 series
adapters")
Cc: stable@dpdk.org
>> Signed-off-by: Congwen Zhang <zhang.congwen@zte.com.cn>
> Acked-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
Applied to dpdk-next-net/master, thanks.
@@ -403,6 +403,7 @@ int t4_wr_mbox_meat_timeout(struct adapter *adap, int mbox,
t4_os_atomic_list_del(&entry, &adap->mbox_list,
&adap->mbox_lock);
t4_report_fw_error(adap);
+ free(temp);
return (pcie_fw & F_PCIE_FW_ERR) ? -ENXIO : -EBUSY;
}
@@ -446,6 +447,7 @@ int t4_wr_mbox_meat_timeout(struct adapter *adap, int mbox,
&adap->mbox_list,
&adap->mbox_lock));
t4_report_fw_error(adap);
+ free(temp);
return (v == X_MBOWNER_FW ? -EBUSY : -ETIMEDOUT);
}
@@ -546,6 +548,7 @@ int t4_wr_mbox_meat_timeout(struct adapter *adap, int mbox,
T4_OS_MBOX_LOCKING(
t4_os_atomic_list_del(&entry, &adap->mbox_list,
&adap->mbox_lock));
+ free(temp);
return -G_FW_CMD_RETVAL((int)res);
}
}