Messages in this thread | | | From | Jesse Barnes <> | Subject | Re: refcount leak in pci_get_device()? | Date | Thu, 21 Aug 2008 15:23:35 -0700 |
| |
On Thursday, August 21, 2008 1:47 pm Greg KH wrote: > Subject: PCI: fix reference leak in pci_get_dev_by_id() > > From: Greg Kroah-Hartman <gregkh@suse.de> > > Alex Chiang and Matthew Wilcox pointed out that pci_get_dev_by_id() does > not properly decrement the reference on the from pointer if it is > present, like the documentation for the function states it will. > > Cc: Matthew Wilcox <matthew@wil.cx> > Cc: Alex Chiang <achiang@hp.com> > Cc: stable <stable@kernel.org> > Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> > > > diff --git a/drivers/pci/search.c b/drivers/pci/search.c > index 217814f..3b3b5f1 100644 > --- a/drivers/pci/search.c > +++ b/drivers/pci/search.c > @@ -280,6 +280,8 @@ static struct pci_dev *pci_get_dev_by_id(const struct > pci_device_id *id, match_pci_dev_by_id); > if (dev) > pdev = to_pci_dev(dev); > + if (from) > + pci_dev_put(from); > return pdev; > }
Wow, thanks Greg, that was fast. I applied this to my for-linus branch; I'll ask Linus to pull it for 2.6.27.
Thanks, -- Jesse Barnes, Intel Open Source Technology Center
| |