DPDK patches and discussions
 help / color / mirror / Atom feed
From: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
To: "Peng, ZhihongX" <zhihongx.peng@intel.com>
Cc: "olivier.matz@6wind.com" <olivier.matz@6wind.com>,
	"dev@dpdk.org" <dev@dpdk.org>,
	"stable@dpdk.org" <stable@dpdk.org>
Subject: Re: [dpdk-dev] [PATCH] lib/cmdline: release cl when cmdline exit
Date: Mon, 6 Sep 2021 10:33:33 +0300	[thread overview]
Message-ID: <20210906103333.13ce4760@sovereign> (raw)
In-Reply-To: <DM8PR11MB5591529ED78350F7B940DD80F0D29@DM8PR11MB5591.namprd11.prod.outlook.com>

2021-09-06 05:51 (UTC+0000), Peng, ZhihongX:
> > -----Original Message-----
> > From: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
> > Sent: Wednesday, September 1, 2021 1:52 AM
> > To: Peng, ZhihongX <zhihongx.peng@intel.com>
> > Cc: olivier.matz@6wind.com; dev@dpdk.org; stable@dpdk.org
> > Subject: Re: [dpdk-dev] [PATCH] lib/cmdline: release cl when cmdline exit
> > 
> > 2021-08-31 10:28 (UTC+0800), zhihongx.peng@intel.com:  
> > > From: Zhihong Peng <zhihongx.peng@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@dpdk.org
> > >
> > > Signed-off-by: Zhihong Peng <zhihongx.peng@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.

  reply	other threads:[~2021-09-06  7:33 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-31  2:28 zhihongx.peng
2021-08-31 16:59 ` Stephen Hemminger
2021-09-06  5:45   ` Peng, ZhihongX
2021-08-31 17:52 ` Dmitry Kozlyuk
2021-09-06  5:51   ` Peng, ZhihongX
2021-09-06  7:33     ` Dmitry Kozlyuk [this message]
2021-09-30  6:53       ` Peng, ZhihongX
2021-09-30  7:44         ` Dmitry Kozlyuk
2021-10-08  6:55           ` Peng, ZhihongX
2021-09-17  2:15 ` [dpdk-dev] [PATCH v2 1/2] " zhihongx.peng
2021-09-17  2:15   ` [dpdk-dev] [PATCH v2 2/2] app/test: Delete cmdline free function zhihongx.peng
2021-10-08  6:41     ` [dpdk-dev] [PATCH v3 1/2] lib/cmdline: release cl when cmdline exit zhihongx.peng
2021-10-08  6:41       ` [dpdk-dev] [PATCH v3 2/2] app/test: delete cmdline free function zhihongx.peng
2021-10-11  8:26         ` Dmitry Kozlyuk
2021-10-11  5:20       ` [dpdk-dev] [PATCH v3 1/2] lib/cmdline: release cl when cmdline exit Peng, ZhihongX
2021-10-11  8:25       ` Dmitry Kozlyuk
2021-10-13  1:53         ` Peng, ZhihongX
2021-10-13  2:36           ` Dmitry Kozlyuk
2021-10-13  3:12             ` Peng, ZhihongX
2021-10-13  1:52       ` [dpdk-dev] [PATCH v4 " zhihongx.peng
2021-10-13  1:52         ` [dpdk-dev] [PATCH v4 2/2] app/test: delete cmdline free function zhihongx.peng
2021-10-18 13:58           ` [dpdk-dev] [PATCH v5] lib/cmdline: release cl when cmdline exit zhihongx.peng
2021-10-18 14:29             ` Dmitry Kozlyuk
2021-10-20  7:03               ` Olivier Matz
2021-10-22 21:33                 ` Thomas Monjalon
2021-10-20  9:22             ` Peng, ZhihongX
2021-10-15 12:58         ` [dpdk-dev] [PATCH v4 1/2] " Olivier Matz
2021-10-18  5:16           ` Peng, ZhihongX
2021-09-30  6:47   ` [dpdk-dev] [PATCH v2 " Peng, ZhihongX

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210906103333.13ce4760@sovereign \
    --to=dmitry.kozliuk@gmail.com \
    --cc=dev@dpdk.org \
    --cc=olivier.matz@6wind.com \
    --cc=stable@dpdk.org \
    --cc=zhihongx.peng@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).