DPDK patches and discussions
 help / color / mirror / Atom feed
From: David Marchand <david.marchand@redhat.com>
To: Long Li <longli@microsoft.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>,
	"aconole@redhat.com" <aconole@redhat.com>,
	 "zhihongx.peng@intel.com" <zhihongx.peng@intel.com>,
	"stable@dpdk.org" <stable@dpdk.org>,
	 Stephen Hemminger <sthemmin@microsoft.com>
Subject: Re: [dpdk-dev] [PATCH 1/3] bus/vmbus: fix leak on device scan
Date: Thu, 30 Sep 2021 09:50:58 +0200	[thread overview]
Message-ID: <CAJFAV8zcNfD5FcN7rDqnaBAHFhDVScE9HOa1ugOJY8ZM3v67-w@mail.gmail.com> (raw)
In-Reply-To: <BY5PR21MB1506FD3E9AE9434D6BD50F60CEA99@BY5PR21MB1506.namprd21.prod.outlook.com>

On Wed, Sep 29, 2021 at 10:57 PM Long Li <longli@microsoft.com> wrote:
>
> > Subject: [PATCH 1/3] bus/vmbus: fix leak on device scan
> >
> > Caught running ASAN.
> >
> > The device name is leaked on scan.
> > rte_device name field being a const, use the private vmbus struct to store the
> > device name and point at it.
> >
> > Fixes: 831dba47bd36 ("bus/vmbus: add Hyper-V virtual bus support")
> > Cc: stable@dpdk.org
> >
> > Signed-off-by: David Marchand <david.marchand@redhat.com>
> > ---
> >  drivers/bus/vmbus/linux/vmbus_bus.c | 5 ++++-
> >  drivers/bus/vmbus/rte_bus_vmbus.h   | 1 +
> >  2 files changed, 5 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/bus/vmbus/linux/vmbus_bus.c
> > b/drivers/bus/vmbus/linux/vmbus_bus.c
> > index 3c924eee14..d8eb07d398 100644
> > --- a/drivers/bus/vmbus/linux/vmbus_bus.c
> > +++ b/drivers/bus/vmbus/linux/vmbus_bus.c
> > @@ -242,7 +242,7 @@ vmbus_scan_one(const char *name)
> >               return -1;
> >
> >       dev->device.bus = &rte_vmbus_bus.bus;
> > -     dev->device.name = strdup(name);
> > +     dev->device.name = dev->name = strdup(name);
>
>
> I suggest not to add a "name" in struct rte_vmbus_device. How about defining a local variable in this function, like:
> dev->device.name = dev_name = strdup(name);

What is your concern for storing the name?


rte_device name only points at some location where the name is stored.
In general this storage is in the bus object or (in some buses) the
devarg that resulted in the rte_device object creation.

If we won't store the name in the bus object, then we lose the ability
to release the name later.
This is probably fine as long as we never release rte_vmbus_device
objects which is the case atm.
But I don't understand why vmbus should be an exception when comparing
to other buses.


-- 
David Marchand


  reply	other threads:[~2021-09-30  7:51 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-17  8:23 [dpdk-dev] [PATCH 0/3] Experiment ASAN in GHA David Marchand
2021-09-17  8:23 ` [dpdk-dev] [PATCH 1/3] bus/vmbus: fix leak on device scan David Marchand
2021-09-29 20:57   ` Long Li
2021-09-30  7:50     ` David Marchand [this message]
2021-09-30 19:14       ` Long Li
2021-10-01  6:47         ` David Marchand
2021-10-01 16:28           ` Long Li
2021-09-17  8:23 ` [dpdk-dev] [PATCH 2/3] test/latencystats: fix incorrect loop boundary David Marchand
2021-09-20  8:51   ` Pattan, Reshma
2021-09-17  8:23 ` [dpdk-dev] [PATCH 3/3] ci: run unit tests with ASAN David Marchand
2021-10-02 16:24 ` [dpdk-dev] [PATCH v2 0/3] Experiment ASAN in GHA David Marchand
2021-10-02 16:24   ` [dpdk-dev] [PATCH v2 1/3] bus/vmbus: fix leak on device scan David Marchand
2021-10-04 17:43     ` Long Li
2021-10-02 16:24   ` [dpdk-dev] [PATCH v2 2/3] test/latencystats: fix incorrect loop boundary David Marchand
2021-10-02 16:24   ` [dpdk-dev] [PATCH v2 3/3] ci: run unit tests with ASAN David Marchand
2021-10-05 12:00     ` Aaron Conole
2021-10-05 15:20   ` [dpdk-dev] [PATCH v2 0/3] Experiment ASAN in GHA David Marchand

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=CAJFAV8zcNfD5FcN7rDqnaBAHFhDVScE9HOa1ugOJY8ZM3v67-w@mail.gmail.com \
    --to=david.marchand@redhat.com \
    --cc=aconole@redhat.com \
    --cc=dev@dpdk.org \
    --cc=longli@microsoft.com \
    --cc=stable@dpdk.org \
    --cc=sthemmin@microsoft.com \
    --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).