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

Chaoyong He chaoyong.he at corigine.com
Thu Mar 7 12:00:43 CET 2024


> [Some people who received this message don't often get email from
> bluca at debian.org. Learn why this is important at
> https://aka.ms/LearnAboutSenderIdentification ]
> 
> 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

Oh, sorry for this.
In line 875, the 'NFP_MAX_PHYPORTS' should be 'MAX_FLOWER_PHYPORTS' actually.


More information about the stable mailing list