All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bjorn Helgaas <helgaas@kernel.org>
To: "Rafael J. Wysocki" <rafael@kernel.org>
Cc: Zhiqiang Liu <liuzhiqiang26@huawei.com>,
	Bjorn Helgaas <bhelgaas@google.com>,
	"Rafael J. Wysocki" <rjw@rjwysocki.net>,
	Len Brown <lenb@kernel.org>,
	ACPI Devel Maling List <linux-acpi@vger.kernel.org>,
	Linux PCI <linux-pci@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	linfeilong <linfeilong@huawei.com>
Subject: Re: [PATCH v2] ACPI / hotplug / PCI: fix memory leak in enable_slot()
Date: Thu, 8 Apr 2021 10:25:55 -0500	[thread overview]
Message-ID: <20210408152555.GA1928260@bjorn-Precision-5520> (raw)
In-Reply-To: <CAJZ5v0j2a803ye6KYzM9dZ_inCTqiwmN7UvAdYeynk+A9F97Fg@mail.gmail.com>

On Thu, Apr 08, 2021 at 05:18:46PM +0200, Rafael J. Wysocki wrote:
> On Thu, Mar 25, 2021 at 8:27 AM Zhiqiang Liu <liuzhiqiang26@huawei.com> wrote:
> >
> > From: Feilong Lin <linfeilong@huawei.com>
> >
> > In enable_slot() in drivers/pci/hotplug/acpiphp_glue.c, if pci_get_slot()
> > will return NULL, we will do not set SLOT_ENABLED flag of slot. if one
> > device is found by calling pci_get_slot(), its reference count will be
> > increased. In this case, we did not call pci_dev_put() to decrement the
> > its reference count, the memory of the device (struct pci_dev type) will
> > leak.
> >
> > Fix it by calling pci_dev_put() to decrement its reference count after that
> > pci_get_slot() returns a PCI device.
> >
> > Signed-off-by: Feilong Lin <linfeilong@huawei.com>
> > Signed-off-by: Zhiqiang Liu <liuzhiqiang26@huawei.com>
> > --
> > v2: rewrite subject and commit log as suggested by Bjorn Helgaas.
> 
> The fix is correct AFAICS, so
> 
> Reviewed-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> 
> Bjorn, has this been applied already?  If not, do you want me to take
> it or are you going to queue it up yourself?

I'll pick it up; thanks for the review and the reminder!

> > ---
> >  drivers/pci/hotplug/acpiphp_glue.c | 1 +
> >  1 file changed, 1 insertion(+)
> >
> > diff --git a/drivers/pci/hotplug/acpiphp_glue.c b/drivers/pci/hotplug/acpiphp_glue.c
> > index 3365c93abf0e..f031302ad401 100644
> > --- a/drivers/pci/hotplug/acpiphp_glue.c
> > +++ b/drivers/pci/hotplug/acpiphp_glue.c
> > @@ -533,6 +533,7 @@ static void enable_slot(struct acpiphp_slot *slot, bool bridge)
> >                         slot->flags &= ~SLOT_ENABLED;
> >                         continue;
> >                 }
> > +               pci_dev_put(dev);
> >         }
> >  }
> >
> > --
> > 2.19.1
> >

  reply	other threads:[~2021-04-08 15:26 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-25  7:26 [PATCH v2] ACPI / hotplug / PCI: fix memory leak in enable_slot() Zhiqiang Liu
2021-04-08 15:18 ` Rafael J. Wysocki
2021-04-08 15:25   ` Bjorn Helgaas [this message]
2021-04-08 16:19 ` Bjorn Helgaas

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=20210408152555.GA1928260@bjorn-Precision-5520 \
    --to=helgaas@kernel.org \
    --cc=bhelgaas@google.com \
    --cc=lenb@kernel.org \
    --cc=linfeilong@huawei.com \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=liuzhiqiang26@huawei.com \
    --cc=rafael@kernel.org \
    --cc=rjw@rjwysocki.net \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.