diff options
author | Jan Kiszka | 2018-05-15 11:07:01 +0200 |
---|---|---|
committer | Bjorn Helgaas | 2018-05-30 18:34:41 +0200 |
commit | 3bbce531788719749520f28052cabdef16af6b16 (patch) | |
tree | cd0d7693431b82c0cacce0dbf6705b1c7906365d /drivers/pci/probe.c | |
parent | PCI: Make pci_get_new_domain_nr() static (diff) | |
download | kernel-qcow2-linux-3bbce531788719749520f28052cabdef16af6b16.tar.gz kernel-qcow2-linux-3bbce531788719749520f28052cabdef16af6b16.tar.xz kernel-qcow2-linux-3bbce531788719749520f28052cabdef16af6b16.zip |
PCI: Fix devm_pci_alloc_host_bridge() memory leak
Fix a memory leak by freeing the PCI resource list in
devm_pci_release_host_bridge_dev().
Fixes: 5c3f18cce083 ("PCI: Add devm_pci_alloc_host_bridge() interface")
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Diffstat (limited to 'drivers/pci/probe.c')
-rw-r--r-- | drivers/pci/probe.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c index ac91b6fd0bcd..eccf204c9160 100644 --- a/drivers/pci/probe.c +++ b/drivers/pci/probe.c @@ -526,12 +526,14 @@ static void devm_pci_release_host_bridge_dev(struct device *dev) if (bridge->release_fn) bridge->release_fn(bridge); + + pci_free_resource_list(&bridge->windows); } static void pci_release_host_bridge_dev(struct device *dev) { devm_pci_release_host_bridge_dev(dev); - pci_free_host_bridge(to_pci_host_bridge(dev)); + kfree(to_pci_host_bridge(dev)); } struct pci_host_bridge *pci_alloc_host_bridge(size_t priv) |