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.la...@intel.com>
---
 drivers/raw/ioat/ioat_common.c | 1 +
 1 file changed, 1 insertion(+)

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,
-- 
2.25.1

Reply via email to