* [dpdk-dev] [PATCH] net/bnxt: fix memory leak when mapping failure
@ 2020-12-01 0:59 wangyunjian
2020-12-08 20:58 ` Ajit Khaparde
0 siblings, 1 reply; 2+ messages in thread
From: wangyunjian @ 2020-12-01 0:59 UTC (permalink / raw)
To: dev
Cc: ajit.khaparde, somnath.kotur, jerry.lilijun, xudingke,
Yunjian Wang, stable
From: Yunjian Wang <wangyunjian@huawei.com>
We allocated memory for the 'buf' when sending message to HWRM,
but we don't free it when mapping the address to IO address
fails. It will lead to memory leak.
Fixes: 19e6af01bb36 ("net/bnxt: support get/set EEPROM")
Cc: stable@dpdk.org
Signed-off-by: Yunjian Wang <wangyunjian@huawei.com>
---
drivers/net/bnxt/bnxt_hwrm.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/net/bnxt/bnxt_hwrm.c b/drivers/net/bnxt/bnxt_hwrm.c
index 24c33185b4..ebbf504c0c 100644
--- a/drivers/net/bnxt/bnxt_hwrm.c
+++ b/drivers/net/bnxt/bnxt_hwrm.c
@@ -4320,6 +4320,7 @@ int bnxt_get_nvram_directory(struct bnxt *bp, uint32_t len, uint8_t *data)
return -ENOMEM;
dma_handle = rte_malloc_virt2iova(buf);
if (dma_handle == RTE_BAD_IOVA) {
+ rte_free(buf);
PMD_DRV_LOG(ERR,
"unable to map response address to physical memory\n");
return -ENOMEM;
@@ -4354,6 +4355,7 @@ int bnxt_hwrm_get_nvram_item(struct bnxt *bp, uint32_t index,
dma_handle = rte_malloc_virt2iova(buf);
if (dma_handle == RTE_BAD_IOVA) {
+ rte_free(buf);
PMD_DRV_LOG(ERR,
"unable to map response address to physical memory\n");
return -ENOMEM;
@@ -4407,6 +4409,7 @@ int bnxt_hwrm_flash_nvram(struct bnxt *bp, uint16_t dir_type,
dma_handle = rte_malloc_virt2iova(buf);
if (dma_handle == RTE_BAD_IOVA) {
+ rte_free(buf);
PMD_DRV_LOG(ERR,
"unable to map response address to physical memory\n");
return -ENOMEM;
--
2.18.1
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [dpdk-dev] [PATCH] net/bnxt: fix memory leak when mapping failure
2020-12-01 0:59 [dpdk-dev] [PATCH] net/bnxt: fix memory leak when mapping failure wangyunjian
@ 2020-12-08 20:58 ` Ajit Khaparde
0 siblings, 0 replies; 2+ messages in thread
From: Ajit Khaparde @ 2020-12-08 20:58 UTC (permalink / raw)
To: wangyunjian
Cc: dpdk-dev, Somnath Kotur, Lilijun (Jerry), xudingke, dpdk stable
On Mon, Nov 30, 2020 at 5:00 PM wangyunjian <wangyunjian@huawei.com> wrote:
>
> From: Yunjian Wang <wangyunjian@huawei.com>
>
> We allocated memory for the 'buf' when sending message to HWRM,
> but we don't free it when mapping the address to IO address
> fails. It will lead to memory leak.
>
> Fixes: 19e6af01bb36 ("net/bnxt: support get/set EEPROM")
> Cc: stable@dpdk.org
>
> Signed-off-by: Yunjian Wang <wangyunjian@huawei.com>
Patch applied to dpdk-next-net-brcm. Thanks
> ---
> drivers/net/bnxt/bnxt_hwrm.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/net/bnxt/bnxt_hwrm.c b/drivers/net/bnxt/bnxt_hwrm.c
> index 24c33185b4..ebbf504c0c 100644
> --- a/drivers/net/bnxt/bnxt_hwrm.c
> +++ b/drivers/net/bnxt/bnxt_hwrm.c
> @@ -4320,6 +4320,7 @@ int bnxt_get_nvram_directory(struct bnxt *bp, uint32_t len, uint8_t *data)
> return -ENOMEM;
> dma_handle = rte_malloc_virt2iova(buf);
> if (dma_handle == RTE_BAD_IOVA) {
> + rte_free(buf);
> PMD_DRV_LOG(ERR,
> "unable to map response address to physical memory\n");
> return -ENOMEM;
> @@ -4354,6 +4355,7 @@ int bnxt_hwrm_get_nvram_item(struct bnxt *bp, uint32_t index,
>
> dma_handle = rte_malloc_virt2iova(buf);
> if (dma_handle == RTE_BAD_IOVA) {
> + rte_free(buf);
> PMD_DRV_LOG(ERR,
> "unable to map response address to physical memory\n");
> return -ENOMEM;
> @@ -4407,6 +4409,7 @@ int bnxt_hwrm_flash_nvram(struct bnxt *bp, uint16_t dir_type,
>
> dma_handle = rte_malloc_virt2iova(buf);
> if (dma_handle == RTE_BAD_IOVA) {
> + rte_free(buf);
> PMD_DRV_LOG(ERR,
> "unable to map response address to physical memory\n");
> return -ENOMEM;
> --
> 2.18.1
>
--
This electronic communication and the information and any files transmitted
with it, or attached to it, are confidential and are intended solely for
the use of the individual or entity to whom it is addressed and may contain
information that is confidential, legally privileged, protected by privacy
laws, or otherwise restricted from disclosure to anyone else. If you are
not the intended recipient or the person responsible for delivering the
e-mail to the intended recipient, you are hereby notified that any use,
copying, distributing, dissemination, forwarding, printing, or copying of
this e-mail is strictly prohibited. If you received this e-mail in error,
please return the e-mail to the sender, delete it from your computer, and
destroy any printed copy of it.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2020-12-08 20:58 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-01 0:59 [dpdk-dev] [PATCH] net/bnxt: fix memory leak when mapping failure wangyunjian
2020-12-08 20:58 ` Ajit Khaparde
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).