mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 02:32:09 -04:00
PCI: fix reference leak in pci_get_dev_by_id()
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 <[email protected]> Cc: stable <[email protected]> Tested-by: Alex Chiang <[email protected]> Acked-by: Alex Chiang <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]> Signed-off-by: Jesse Barnes <[email protected]>
This commit is contained in:
parent
d6a9e9b40b
commit
ebca4f1bce
1 changed files with 2 additions and 0 deletions
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue