patches for DPDK stable branches
 help / color / mirror / Atom feed
From: "Peng, ZhihongX" <zhihongx.peng@intel.com>
To: Dmitry Kozlyuk <dmitry.kozliuk@gmail.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-stable] [PATCH v3 1/2] lib/cmdline: release cl when cmdline exit
Date: Wed, 13 Oct 2021 01:53:57 +0000
Message-ID: <DM8PR11MB55915D40582566C97DB69819F0B79@DM8PR11MB5591.namprd11.prod.outlook.com> (raw)
In-Reply-To: <20211011112558.21c68bfa@sovereign>

> -----Original Message-----
> From: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
> Sent: Monday, October 11, 2021 4:26 PM
> To: Peng, ZhihongX <zhihongx.peng@intel.com>
> Cc: olivier.matz@6wind.com; dev@dpdk.org; stable@dpdk.org
> Subject: Re: [PATCH v3 1/2] lib/cmdline: release cl when cmdline exit
> 
> 2021-10-08 06:41 (UTC+0000), 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
> 
> As I have explained before, backporting this will introduce a double-free bug
> in user apps unless their code are fixed, so it must not be done.

The release notes have stated that this is the only thing we can do,
and this unreasonable design should be resolved as soon as possible.
And the user apps change is very small.
> >
> > Signed-off-by: Zhihong Peng <zhihongx.peng@intel.com>
> > ---
> >  doc/guides/rel_notes/release_21_11.rst | 5 +++++
> >  lib/cmdline/cmdline_socket.c           | 1 +
> >  2 files changed, 6 insertions(+)
> >
> > diff --git a/doc/guides/rel_notes/release_21_11.rst
> > b/doc/guides/rel_notes/release_21_11.rst
> > index efeffe37a0..be24925d16 100644
> > --- a/doc/guides/rel_notes/release_21_11.rst
> > +++ b/doc/guides/rel_notes/release_21_11.rst
> > @@ -191,6 +191,11 @@ API Changes
> >    the crypto/security operation. This field will be used to communicate
> >    events such as soft expiry with IPsec in lookaside mode.
> >
> > +* cmdline: The API cmdline_stdin_exit has added cmdline_free function.
> > +  Malloc cl in the cmdline_stdin_new function, so release in the
> > +  cmdline_stdin_exit function is logical. The application code
> > +  that calls cmdline_free needs to be deleted.
> > +
> 
> There's probably no need to go into such details, suggestion:
> 
> * cmdline: ``cmdline_stdin_exit()`` now frees the ``cmdline`` structure.
>   Calls to ``cmdline_free()`` after it need to be deleted from applications.

v4 version will be fixed.
> >
> >  ABI Changes
> >  -----------
> > 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);
> >  }


  reply	other threads:[~2021-10-13  1:54 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-31  2:28 [dpdk-stable] [PATCH] " zhihongx.peng
2021-08-31 16:59 ` [dpdk-stable] [dpdk-dev] " 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
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-stable] [PATCH v2 1/2] " zhihongx.peng
2021-09-17  2:15   ` [dpdk-stable] [PATCH v2 2/2] app/test: Delete cmdline free function zhihongx.peng
2021-10-08  6:41     ` [dpdk-stable] [PATCH v3 1/2] lib/cmdline: release cl when cmdline exit zhihongx.peng
2021-10-08  6:41       ` [dpdk-stable] [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-stable] [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 [this message]
2021-10-13  2:36           ` Dmitry Kozlyuk
2021-10-13  3:12             ` Peng, ZhihongX
2021-10-13  1:52       ` [dpdk-stable] [PATCH v4 " zhihongx.peng
2021-10-13  1:52         ` [dpdk-stable] [PATCH v4 2/2] app/test: delete cmdline free function zhihongx.peng
2021-10-15 12:58         ` [dpdk-stable] [PATCH v4 1/2] lib/cmdline: release cl when cmdline exit Olivier Matz
2021-10-18  5:16           ` Peng, ZhihongX
2021-09-30  6:47   ` [dpdk-stable] [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=DM8PR11MB55915D40582566C97DB69819F0B79@DM8PR11MB5591.namprd11.prod.outlook.com \
    --to=zhihongx.peng@intel.com \
    --cc=dev@dpdk.org \
    --cc=dmitry.kozliuk@gmail.com \
    --cc=olivier.matz@6wind.com \
    --cc=stable@dpdk.org \
    /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

patches for DPDK stable branches

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://inbox.dpdk.org/stable/0 stable/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 stable stable/ http://inbox.dpdk.org/stable \
		stable@dpdk.org
	public-inbox-index stable

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.stable


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git