]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blame - releases/4.14.60/pci-fix-devm_pci_alloc_host_bridge-memory-leak.patch
Fixes for 5.10
[thirdparty/kernel/stable-queue.git] / releases / 4.14.60 / pci-fix-devm_pci_alloc_host_bridge-memory-leak.patch
CommitLineData
a65d4bac
GKH
1From foo@baz Sat Jul 28 10:25:26 CEST 2018
2From: Jan Kiszka <jan.kiszka@siemens.com>
3Date: Tue, 15 May 2018 11:07:01 +0200
4Subject: PCI: Fix devm_pci_alloc_host_bridge() memory leak
5
6From: Jan Kiszka <jan.kiszka@siemens.com>
7
8[ Upstream commit 3bbce531788719749520f28052cabdef16af6b16 ]
9
10Fix a memory leak by freeing the PCI resource list in
11devm_pci_release_host_bridge_dev().
12
13Fixes: 5c3f18cce083 ("PCI: Add devm_pci_alloc_host_bridge() interface")
14Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
15Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
16Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
17Signed-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)