]>
Commit | Line | Data |
---|---|---|
a65d4bac GKH |
1 | From foo@baz Sat Jul 28 10:25:26 CEST 2018 |
2 | From: Jan Kiszka <jan.kiszka@siemens.com> | |
3 | Date: Tue, 15 May 2018 11:07:01 +0200 | |
4 | Subject: PCI: Fix devm_pci_alloc_host_bridge() memory leak | |
5 | ||
6 | From: Jan Kiszka <jan.kiszka@siemens.com> | |
7 | ||
8 | [ Upstream commit 3bbce531788719749520f28052cabdef16af6b16 ] | |
9 | ||
10 | Fix a memory leak by freeing the PCI resource list in | |
11 | devm_pci_release_host_bridge_dev(). | |
12 | ||
13 | Fixes: 5c3f18cce083 ("PCI: Add devm_pci_alloc_host_bridge() interface") | |
14 | Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> | |
15 | Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> | |
16 | Signed-off-by: Sasha Levin <alexander.levin@microsoft.com> | |
17 | Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> | |
18 | --- | |
19 | drivers/pci/probe.c | 4 +++- | |
20 | 1 file changed, 3 insertions(+), 1 deletion(-) | |
21 | ||
22 | --- a/drivers/pci/probe.c | |
23 | +++ b/drivers/pci/probe.c | |
24 | @@ -516,12 +516,14 @@ static void devm_pci_release_host_bridge | |
25 | ||
26 | if (bridge->release_fn) | |
27 | bridge->release_fn(bridge); | |
28 | + | |
29 | + pci_free_resource_list(&bridge->windows); | |
30 | } | |
31 | ||
32 | static void pci_release_host_bridge_dev(struct device *dev) | |
33 | { | |
34 | devm_pci_release_host_bridge_dev(dev); | |
35 | - pci_free_host_bridge(to_pci_host_bridge(dev)); | |
36 | + kfree(to_pci_host_bridge(dev)); | |
37 | } | |
38 | ||
39 | struct pci_host_bridge *pci_alloc_host_bridge(size_t priv) |