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

Peng, ZhihongX zhihongx.peng at intel.com
Fri Oct 8 08:55:06 CEST 2021


> -----Original Message-----
> From: Dmitry Kozlyuk <dmitry.kozliuk at gmail.com>
> Sent: Thursday, September 30, 2021 3:44 PM
> To: Peng, ZhihongX <zhihongx.peng at intel.com>; olivier.matz at 6wind.com
> Cc: dev at dpdk.org; stable at dpdk.org
> Subject: Re: [dpdk-dev] [PATCH] lib/cmdline: release cl when cmdline exit
> 
> 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-
> zhi
> > hongx.peng at intel.com/
> 
> Hi Zhihong,
> v2 doesn't address my concerns above.
> Do you have any objections?

I got it wrong, I have submitted the v3 version and added the rel_notes document.



More information about the stable mailing list