raw/ioat: fix memory leak in device configure

Message ID 20210617141752.93312-1-kevin.laatz@intel.com (mailing list archive)
State Accepted, archived
Delegated to: Thomas Monjalon
Headers
Series raw/ioat: fix memory leak in device configure |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK
ci/intel-Testing success Testing PASS
ci/iol-intel-Functional success Functional Testing PASS
ci/github-robot success github build: passed
ci/iol-abi-testing success Testing PASS
ci/iol-testing success Testing PASS
ci/iol-mellanox-Functional fail Functional Testing issues
ci/iol-intel-Performance success Performance Testing PASS

Commit Message

Kevin Laatz June 17, 2021, 2:17 p.m. UTC
  During device configure, memory is allocated for "hdl_ring_flags". In the
event of another call to the device configure function (reconfigure), a
memory leak would occur. This patch fixes the memory leak by free'ing the
memory before reallocating it.

Fixes: 245efe544d8e ("raw/ioat: report status of completed jobs")

Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>
---
 drivers/raw/ioat/ioat_common.c | 1 +
 1 file changed, 1 insertion(+)
  

Comments

Bruce Richardson June 17, 2021, 2:20 p.m. UTC | #1
On Thu, Jun 17, 2021 at 02:17:52PM +0000, Kevin Laatz wrote:
> During device configure, memory is allocated for "hdl_ring_flags". In the
> event of another call to the device configure function (reconfigure), a
> memory leak would occur. This patch fixes the memory leak by free'ing the
> memory before reallocating it.
> 
> Fixes: 245efe544d8e ("raw/ioat: report status of completed jobs")
> 
> Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>
> ---

Thanks, Kevin.
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
  
Thomas Monjalon June 22, 2021, 8:59 p.m. UTC | #2
17/06/2021 16:20, Bruce Richardson:
> On Thu, Jun 17, 2021 at 02:17:52PM +0000, Kevin Laatz wrote:
> > During device configure, memory is allocated for "hdl_ring_flags". In the
> > event of another call to the device configure function (reconfigure), a
> > memory leak would occur. This patch fixes the memory leak by free'ing the
> > memory before reallocating it.
> > 
> > Fixes: 245efe544d8e ("raw/ioat: report status of completed jobs")
> > 
> > Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>
> > ---
> 
> Thanks, Kevin.
> Acked-by: Bruce Richardson <bruce.richardson@intel.com>

Cc: stable@dpdk.org

Applied, thanks
  

Patch

diff --git a/drivers/raw/ioat/ioat_common.c b/drivers/raw/ioat/ioat_common.c
index d01c1ee367..f4771745cc 100644
--- a/drivers/raw/ioat/ioat_common.c
+++ b/drivers/raw/ioat/ioat_common.c
@@ -147,6 +147,7 @@  idxd_dev_configure(const struct rte_rawdev *dev,
 	/* in case we are reconfiguring a device, free any existing memory */
 	rte_free(rte_idxd->desc_ring);
 	rte_free(rte_idxd->hdl_ring);
+	rte_free(rte_idxd->hdl_ring_flags);
 
 	/* allocate the descriptor ring at 2x size as batches can't wrap */
 	rte_idxd->desc_ring = rte_zmalloc(NULL,