raw/ioat: fix memory leak in device configure
Checks
Commit Message
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
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>
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
@@ -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,