[lkml]   [2008]   [Sep]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    Patch in this message
    Subject[patch 02/42] PCI: fix reference leak in pci_get_dev_by_id()
    2.6.26-stable review patch.  If anyone has any objections, please let us know.


    From: Greg Kroah-Hartman <>

    commit ebca4f1bce1eb7b91a63c515db66316db9391221 upstream

    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.

    It fixes a pretty bad leak in the hotplug core (we were leaking an
    entire struct pci_dev for each function of each offlined card, the first
    time around; subsequent onlines/offlines were ok).

    Cc: Matthew Wilcox <>
    Tested-by: Alex Chiang <>
    Acked-by: Alex Chiang <>
    Signed-off-by: Greg Kroah-Hartman <>
    Signed-off-by: Jesse Barnes <>

    drivers/pci/search.c | 2 ++
    1 file changed, 2 insertions(+)

    --- a/drivers/pci/search.c
    +++ b/drivers/pci/search.c
    @@ -280,6 +280,8 @@ static struct pci_dev *pci_get_dev_by_id
    if (dev)
    pdev = to_pci_dev(dev);
    + if (from)
    + pci_dev_put(from);
    return pdev;


     \ /
      Last update: 2008-09-03 19:35    [W:0.022 / U:4.628 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site