[dpdk-dev] [PATCH] lib/flow_classify: fix leaking rules on delete

Iremonger, Bernard bernard.iremonger at intel.com
Tue Jun 22 13:59:33 CEST 2021


Hi David, Owen,

> -----Original Message-----
> From: David Marchand <david.marchand at redhat.com>
> Sent: Tuesday, June 22, 2021 8:24 AM
> To: Owen Hilyard <ohilyard at iol.unh.edu>; Iremonger, Bernard
> <bernard.iremonger at intel.com>; Yigit, Ferruh <ferruh.yigit at intel.com>
> Cc: dev <dev at dpdk.org>
> Subject: Re: [PATCH] lib/flow_classify: fix leaking rules on delete
> 
> On Wed, Jun 16, 2021 at 9:57 PM <ohilyard at iol.unh.edu> wrote:
> >
> > From: Owen Hilyard <ohilyard at iol.unh.edu>
> >
> > Rules in a classify table were not freed if the table had a delete
> > function.
> >
> > Fixes: be41ac2a3 ("flow_classify: introduce flow classify library")
> Cc: stable at dpdk.org
> 
> >
> > Signed-off-by: Owen Hilyard <ohilyard at iol.unh.edu>
> > ---
> >  lib/flow_classify/rte_flow_classify.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/lib/flow_classify/rte_flow_classify.c
> > b/lib/flow_classify/rte_flow_classify.c
> > index f125267e8..06aed3b70 100644
> > --- a/lib/flow_classify/rte_flow_classify.c
> > +++ b/lib/flow_classify/rte_flow_classify.c
> > @@ -579,7 +579,7 @@ rte_flow_classify_table_entry_delete(struct
> rte_flow_classifier *cls,
> >                                                 &rule->u.key.key_del,
> >                                                 &rule->key_found,
> >                                                 &rule->entry);
> > -
> > +                               free(rule);
> >                                 return ret;
> >                         }
> >                 }
> 
> I find it strange to free the rule regardless of the result of the
> f_delete() op.

I agree the result of the f_delete() op should be checked before freeing the rule.

> The same is done out of the loop which means this function returns -EINVAL
> and frees the rule in this case too.

The free() outside the loop at line 587 does not make sense to me now and should be removed.

> 
> Bernard, Ferruh, can you review please?
> 
> Thanks!
> 
> 
> --
> David Marchand

Regards,

Bernard.


More information about the dev mailing list