[2/2] eventdev: fix memory leakage when create thread fail
Checks
Commit Message
From: Chengwen Feng <fengchengwen@huawei.com>
This patch fixes the issue that epoll_events memory is not released
after the intr thread created fail.
Fixes: 3810ae435783 ("eventdev: add interrupt driven queues to Rx adapter")
Cc: stable@dpdk.org
Signed-off-by: Chengwen Feng <fengchengwen@huawei.com>
Signed-off-by: Min Hu (Connor) <humin29@huawei.com>
---
lib/eventdev/rte_event_eth_rx_adapter.c | 1 +
1 file changed, 1 insertion(+)
Comments
On Fri, Apr 30, 2021 at 3:04 PM Min Hu (Connor) <humin29@huawei.com> wrote:
>
> From: Chengwen Feng <fengchengwen@huawei.com>
>
> This patch fixes the issue that epoll_events memory is not released
> after the intr thread created fail.
>
> Fixes: 3810ae435783 ("eventdev: add interrupt driven queues to Rx adapter")
> Cc: stable@dpdk.org
>
> Signed-off-by: Chengwen Feng <fengchengwen@huawei.com>
> Signed-off-by: Min Hu (Connor) <humin29@huawei.com>
Reviewed-by: Jerin Jacob <jerinj@marvell.com>
> ---
> lib/eventdev/rte_event_eth_rx_adapter.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/lib/eventdev/rte_event_eth_rx_adapter.c b/lib/eventdev/rte_event_eth_rx_adapter.c
> index d317e89..13dfb28 100644
> --- a/lib/eventdev/rte_event_eth_rx_adapter.c
> +++ b/lib/eventdev/rte_event_eth_rx_adapter.c
> @@ -1436,6 +1436,7 @@ rxa_create_intr_thread(struct rte_event_eth_rx_adapter *rx_adapter)
> return 0;
>
> RTE_EDEV_LOG_ERR("Failed to create interrupt thread err = %d\n", err);
> + rte_free(rx_adapter->epoll_events);
> error:
> rte_ring_free(rx_adapter->intr_ring);
> rx_adapter->intr_ring = NULL;
> --
> 2.7.4
>
On Sat, May 1, 2021 at 6:08 PM Jerin Jacob <jerinjacobk@gmail.com> wrote:
>
> On Fri, Apr 30, 2021 at 3:04 PM Min Hu (Connor) <humin29@huawei.com> wrote:
> >
> > From: Chengwen Feng <fengchengwen@huawei.com>
> >
> > This patch fixes the issue that epoll_events memory is not released
> > after the intr thread created fail.
> >
> > Fixes: 3810ae435783 ("eventdev: add interrupt driven queues to Rx adapter")
> > Cc: stable@dpdk.org
> >
> > Signed-off-by: Chengwen Feng <fengchengwen@huawei.com>
> > Signed-off-by: Min Hu (Connor) <humin29@huawei.com>
>
> Reviewed-by: Jerin Jacob <jerinj@marvell.com>
Series applied to dpdk-next-eventdev/for-main. Thanks.
>
>
> > ---
> > lib/eventdev/rte_event_eth_rx_adapter.c | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/lib/eventdev/rte_event_eth_rx_adapter.c b/lib/eventdev/rte_event_eth_rx_adapter.c
> > index d317e89..13dfb28 100644
> > --- a/lib/eventdev/rte_event_eth_rx_adapter.c
> > +++ b/lib/eventdev/rte_event_eth_rx_adapter.c
> > @@ -1436,6 +1436,7 @@ rxa_create_intr_thread(struct rte_event_eth_rx_adapter *rx_adapter)
> > return 0;
> >
> > RTE_EDEV_LOG_ERR("Failed to create interrupt thread err = %d\n", err);
> > + rte_free(rx_adapter->epoll_events);
> > error:
> > rte_ring_free(rx_adapter->intr_ring);
> > rx_adapter->intr_ring = NULL;
> > --
> > 2.7.4
> >
@@ -1436,6 +1436,7 @@ rxa_create_intr_thread(struct rte_event_eth_rx_adapter *rx_adapter)
return 0;
RTE_EDEV_LOG_ERR("Failed to create interrupt thread err = %d\n", err);
+ rte_free(rx_adapter->epoll_events);
error:
rte_ring_free(rx_adapter->intr_ring);
rx_adapter->intr_ring = NULL;