[PATCH v2 5/6] net/iavf: fix leak of flex metadata extraction field

Loftus, Ciara ciara.loftus at intel.com
Thu Jul 9 14:36:17 CEST 2026


> Subject: [PATCH v2 5/6] net/iavf: fix leak of flex metadata extraction field
> 
> Function iavf_init_proto_xtr() allocates vf->proto_xtr as part of the
> device init sequence, but no shutdown function frees this memory again.
> Add an appropriate free call to fix this memory leak.
> 
> Fixes: 12b435bf8f2f ("net/iavf: support flex desc metadata extraction")
> Cc: stable at dpdk.org
> 
> Signed-off-by: Bruce Richardson <bruce.richardson at intel.com>
> ---
>  drivers/net/intel/iavf/iavf_ethdev.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/net/intel/iavf/iavf_ethdev.c
> b/drivers/net/intel/iavf/iavf_ethdev.c
> index 1cd8c88384..7f5b103326 100644
> --- a/drivers/net/intel/iavf/iavf_ethdev.c
> +++ b/drivers/net/intel/iavf/iavf_ethdev.c
> @@ -2757,6 +2757,8 @@ iavf_uninit_vf(struct rte_eth_dev *dev)
>  	vf->qos_cap = NULL;
>  	free(vf->qtc_map);
>  	vf->qtc_map = NULL;
> +	rte_free(vf->proto_xtr);
> +	vf->proto_xtr = NULL;

This function iavf_uninit_vf is only called when an error is encountered in
iavf_dev_init and we goto the init_vf_err label. We need to free the memory
in the successful case as well.

> 
>  	rte_free(vf->rss_lut);
>  	vf->rss_lut = NULL;
> --
> 2.53.0



More information about the dev mailing list