[dpdk-stable] [dpdk-dev] [PATCH v2] net/ixgbe: fix mbuf leak

Kevin Traynor ktraynor at redhat.com
Tue Aug 31 12:00:04 CEST 2021


On 31/08/2021 09:06, Qiming Chen wrote:
> A local test found that repeated port start and stop operations during
> the continuous SSE vector bufflist receiving process will cause the mbuf
> resource to run out. The final positioning is when the port is stopped,
> the mbuf of the pkt_first_seg pointer is not released. Resources leak.
> The patch scheme is to judge whether the pointer is empty when the port
> is stopped, and release the corresponding mbuf if it is not empty.
> 
> Fixes: abf7275bbaa2 ("ixgbe: move to drivers/net/")

That is a file rename, it should be when the functionality was
introduced, so in this case:
Fixes: af75078fece3 ("first public release")

> Cc: stable at dpdk.org
> 
> Signed-off-by: Qiming Chen <chenqiming_huawei at 163.com>
> ---
> v2:
>   Sync to stable at dpdk.org
> ---
>  drivers/net/ixgbe/ixgbe_rxtx.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/drivers/net/ixgbe/ixgbe_rxtx.c b/drivers/net/ixgbe/ixgbe_rxtx.c
> index c814a28cb4..bfdfd5e755 100644
> --- a/drivers/net/ixgbe/ixgbe_rxtx.c
> +++ b/drivers/net/ixgbe/ixgbe_rxtx.c
> @@ -2981,6 +2981,10 @@ ixgbe_reset_rx_queue(struct ixgbe_adapter *adapter, struct ixgbe_rx_queue *rxq)
>  	rxq->rx_free_trigger = (uint16_t)(rxq->rx_free_thresh - 1);
>  	rxq->rx_tail = 0;
>  	rxq->nb_rx_hold = 0;
> +
> +	if (rxq->pkt_first_seg != NULL)
> +		rte_pktmbuf_free(rxq->pkt_first_seg);
> +
>  	rxq->pkt_first_seg = NULL;
>  	rxq->pkt_last_seg = NULL;
>  
> 



More information about the stable mailing list