[dpdk-stable] [dpdk-dev] [PATCH] lib/cmdline: release cl when cmdline exit

Dmitry Kozlyuk dmitry.kozliuk at gmail.com
Thu Sep 30 09:44:20 CEST 2021


2021-09-30 06:53 (UTC+0000), Peng, ZhihongX:
> > -----Original Message-----
> > From: Dmitry Kozlyuk <dmitry.kozliuk at gmail.com>
> > Sent: Monday, September 6, 2021 3:34 PM
> > To: Peng, ZhihongX <zhihongx.peng at intel.com>
> > Cc: olivier.matz at 6wind.com; dev at dpdk.org; stable at dpdk.org
> > Subject: Re: [dpdk-dev] [PATCH] lib/cmdline: release cl when cmdline exit
> > 
> > 2021-09-06 05:51 (UTC+0000), Peng, ZhihongX:  
> > > > -----Original Message-----
> > > > From: Dmitry Kozlyuk <dmitry.kozliuk at gmail.com>
> > > > Sent: Wednesday, September 1, 2021 1:52 AM
> > > > To: Peng, ZhihongX <zhihongx.peng at intel.com>
> > > > Cc: olivier.matz at 6wind.com; dev at dpdk.org; stable at dpdk.org
> > > > Subject: Re: [dpdk-dev] [PATCH] lib/cmdline: release cl when cmdline
> > > > exit
> > > >
> > > > 2021-08-31 10:28 (UTC+0800), zhihongx.peng at intel.com:  
> > > > > From: Zhihong Peng <zhihongx.peng at intel.com>
> > > > >
> > > > > Malloc cl in the cmdline_stdin_new function, so release in the
> > > > > cmdline_stdin_exit function is logical, so that cl will not be
> > > > > released alone.
> > > > >
> > > > > Fixes: af75078fece3 (first public release)
> > > > > Cc: stable at dpdk.org
> > > > >
> > > > > Signed-off-by: Zhihong Peng <zhihongx.peng at intel.com>
> > > > > ---
> > > > >  lib/cmdline/cmdline_socket.c | 1 +
> > > > >  1 file changed, 1 insertion(+)
> > > > >
> > > > > diff --git a/lib/cmdline/cmdline_socket.c
> > > > > b/lib/cmdline/cmdline_socket.c index 998e8ade25..ebd5343754 100644
> > > > > --- a/lib/cmdline/cmdline_socket.c
> > > > > +++ b/lib/cmdline/cmdline_socket.c
> > > > > @@ -53,4 +53,5 @@ cmdline_stdin_exit(struct cmdline *cl)
> > > > >  		return;
> > > > >
> > > > >  	terminal_restore(cl);
> > > > > +	cmdline_free(cl);
> > > > >  }  
> > > >
> > > > Now cmdline_free() may not be called after cmdline_stdin_exit().
> > > > User code that does so needs to be changed to avoid double-free.
> > > > This behavior change must be documented in the release notes.
> > > > I'm not sure it should be backported because of the above.  
> > > Using the asan tool, I found that many dpdk apps did not call cmdline_free,  
> > only one app called.
> > 
> > I mean external programs that use DPDK, not DPDK bundled apps only.
> > If some of them use a stable DPDK branch and the change is backported, a
> > double-free will be introduced by upgrading DPDK to a minor version.
> > Users of current DPDK version that call cmdline_free() after
> > cmdline_stdin_exit() will have to upgrade their code, release notes are the
> > place to inform them about this need.
> > The patch itself is good and now it is the right time for it.  
> 
> Can you give me an ack, I have submitted v2:
> http://patches.dpdk.org/project/dpdk/patch/20210917021502.502560-1-zhihongx.peng@intel.com/

Hi Zhihong,
v2 doesn't address my concerns above.
Do you have any objections?


More information about the stable mailing list