Hi,

> -----Original Message-----
> From: Ferruh Yigit <ferruh.yi...@amd.com>
> Sent: Friday, November 18, 2022 6:40 PM
> To: Suanming Mou <suanmi...@nvidia.com>; david.march...@redhat.com;
> Aman Singh <aman.deep.si...@intel.com>; Yuying Zhang
> <yuying.zh...@intel.com>
> Cc: dev@dpdk.org
> Subject: Re: [PATCH] app/testpmd: fix action destruction memory leak
> 
> On 11/17/2022 8:55 AM, Suanming Mou wrote:
> > In case action handle destroy fails, the job memory was not freed
> > properly. This commit fixes the possible memory leak in the action
> > handle destruction failed case.
> >
> > Fixes: c9dc03840873 ("ethdev: add indirect action async query")
> >
> > Signed-off-by: Suanming Mou <suanmi...@nvidia.com>
> > ---
> >  app/test-pmd/config.c | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c index
> > 982549ffed..719bdd4261 100644
> > --- a/app/test-pmd/config.c
> > +++ b/app/test-pmd/config.c
> > @@ -2873,9 +2873,9 @@ port_queue_action_handle_destroy(portid_t
> port_id,
> >                     job->type = QUEUE_JOB_TYPE_ACTION_DESTROY;
> >                     job->pia = pia;
> >
> > -                   if (pia->handle &&
> > -                       rte_flow_async_action_handle_destroy(port_id,
> > +                   if (rte_flow_async_action_handle_destroy(port_id,
> 
> Why 'pia->handle' check removed, was it unnecessary to check it at first 
> place?
> 
> >                             queue_id, &attr, pia->handle, job, &error)) {
> > +                           free(job);
> >                             ret = port_flow_complain(&error);
> >                             continue;
> >                     }
> 
> Just to double check, when this if branch not taken,
> 'rte_flow_async_action_handle_destroy()' not failed case, testpmd
> 'port_queue_flow_pull()' functions frees the 'job', right?

Yes, port_queue_flow_pull() will free the 'job'.


Reply via email to