From: Jan Kiszka Date: Tue, 15 May 2018 09:07:01 +0000 (+0200) Subject: PCI: Fix devm_pci_alloc_host_bridge() memory leak X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=3bbce531788719749520f28052cabdef16af6b16;p=linux.git 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 Signed-off-by: Bjorn Helgaas --- diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c index ac91b6fd0bcd5..eccf204c9160a 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)