[dpdk-dev] [PATCH v1] net/ice: fix memzone leak when device init failed

David Marchand david.marchand at redhat.com
Wed Aug 18 09:07:57 CEST 2021


On Wed, Aug 18, 2021 at 2:46 AM Wang, Haiyue <haiyue.wang at intel.com> wrote:
>
> > -----Original Message-----
> > From: David Marchand <david.marchand at redhat.com>
> > Sent: Tuesday, August 17, 2021 17:19
> > To: Wang, Haiyue <haiyue.wang at intel.com>
> > Cc: dev <dev at dpdk.org>; Zhang, Qi Z <qi.z.zhang at intel.com>; dpdk stable <stable at dpdk.org>; Yang,
> > Qiming <qiming.yang at intel.com>; Xiaolong Ye <xiaolong.ye at intel.com>; Xing, Beilei
> > <beilei.xing at intel.com>; Wang, Ying A <ying.a.wang at intel.com>
> > Subject: Re: [PATCH v1] net/ice: fix memzone leak when device init failed
> >
> > On Fri, Aug 13, 2021 at 8:45 AM Haiyue Wang <haiyue.wang at intel.com> wrote:
> > >
> > > When flow engine initialization or FXP resource reset failed, it needs
> > > to free the memory zone and unregister the interrupt callback.
> > >
> > > Bugzilla ID: 752
> > > Fixes: 84dc7a95a2d3 ("net/ice: enable flow director engine")
> > > Fixes: 7615a6895009 ("net/ice: rework for generic flow enabling")
> > > Fixes: 7edc7158d771 ("net/ice: cleanup RSS/FDIR profile on device init")
> > > Cc: stable at dpdk.org
> > >
> > > Reported-by: David Marchand <david.marchand at redhat.com>
> > > Signed-off-by: Haiyue Wang <haiyue.wang at intel.com>
> > > ---
> > >  drivers/net/ice/ice_ethdev.c      | 10 ++++++++--
> > >  drivers/net/ice/ice_fdir_filter.c |  2 ++
> > >  2 files changed, 10 insertions(+), 2 deletions(-)
> > >
> > > diff --git a/drivers/net/ice/ice_ethdev.c b/drivers/net/ice/ice_ethdev.c
> > > index 64ee569525..8d62b84805 100644
> > > --- a/drivers/net/ice/ice_ethdev.c
> > > +++ b/drivers/net/ice/ice_ethdev.c
> > > @@ -2139,20 +2139,26 @@ ice_dev_init(struct rte_eth_dev *dev)
> > >                 ret = ice_flow_init(ad);
> > >                 if (ret) {
> > >                         PMD_INIT_LOG(ERR, "Failed to initialize flow");
> > > -                       return ret;
> > > +                       goto err_flow_init;
> >
> > Is it safe to call flow engine uninit callbacks when ice_flow_init() fails?
>
> If each engine->init/uninit handles its internal setting correctly, yes,
> it's safe, if not, this single engine has BUG, let's fix it. ;-)

That was my understanding, but I preferred to ask.
Then, patch lgtm, thanks Haiyue.


-- 
David Marchand



More information about the dev mailing list