[PATCH 22.11 2/7] net/nfp: fix resource leak for flower firmware

Luca Boccassi bluca at debian.org
Thu Mar 7 10:35:34 CET 2024


On Thu, 7 Mar 2024 at 06:05, Chaoyong He <chaoyong.he at corigine.com> wrote:
>
> [ upstream commit 7c596721ae5f41d1dbab8b936a4983928d6b5603 ]
>
> Fix the resource leak problem in the logic of flower firmware
> application.
>
> Fixes: e1124c4f8a45 ("net/nfp: add flower representor framework")
>
> Signed-off-by: Chaoyong He <chaoyong.he at corigine.com>
> ---
>  .../net/nfp/flower/nfp_flower_representor.c   | 89 ++++++++++++++++++-
>  .../net/nfp/flower/nfp_flower_representor.h   |  1 +
>  2 files changed, 86 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/net/nfp/flower/nfp_flower_representor.c b/drivers/net/nfp/flower/nfp_flower_representor.c
> index 32c4574..854d117 100644
> --- a/drivers/net/nfp/flower/nfp_flower_representor.c
> +++ b/drivers/net/nfp/flower/nfp_flower_representor.c
> ...
> +static void
> +nfp_flower_repr_free_all(struct nfp_app_fw_flower *app_fw_flower)
> +{
> +       uint32_t i;
> +       struct nfp_flower_representor *repr;
> +
> +       for (i = 0; i < MAX_FLOWER_VFS; i++) {
> +               repr = app_fw_flower->vf_reprs[i];
> +               if (repr != NULL) {
> +                       nfp_flower_repr_free(repr, NFP_REPR_TYPE_VF);
> +                       app_fw_flower->vf_reprs[i] = NULL;
> +               }
> +       }
> +
> +       for (i = 0; i < NFP_MAX_PHYPORTS; i++) {
> +               repr = app_fw_flower->phy_reprs[i];
> +               if (repr != NULL) {
> +                       nfp_flower_repr_free(repr, NFP_REPR_TYPE_PHYS_PORT);
> +                       app_fw_flower->phy_reprs[i] = NULL;
> +               }
> +       }

Thanks for sending the series, but this causes a compiler warning on
Debian stable with gcc 12.2.0:

[8/34] Compiling C object
drivers/libtmp_rte_net_nfp.a.p/net_nfp_flower_nfp_flower_representor.c.o
../drivers/net/nfp/flower/nfp_flower_representor.c: In function
‘nfp_flower_repr_free_all’:
../drivers/net/nfp/flower/nfp_flower_representor.c:876:22: warning:
iteration 8 invokes undefined behavior
[-Waggressive-loop-optimizations]
  876 |                 repr = app_fw_flower->phy_reprs[i];
      |                 ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../drivers/net/nfp/flower/nfp_flower_representor.c:875:23: note:
within this loop


More information about the stable mailing list