Skip to contentSkip to conversation

Patch "ARM64: PCI: Fix struct acpi_pci_root_ops allocation failure path" has been added to the 4.11-stable tree

PATCH [email protected] 1 participant 1 message Jul 3, 2017

Subsystems (2)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

ARM64: PCI: Fix struct acpi_pci_root_ops allocation failure path

to the 4.11-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
arm64-pci-fix-struct-acpi_pci_root_ops-allocation-failure-path.patch
and it can be found in the queue-4.11 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From 717902cc93118119a6fce7765da6cf2786987418 Mon Sep 17 00:00:00 2001

From: Timmy Li <[email protected]>
Date: Mon, 22 May 2017 16:48:28 +0100
Subject: ARM64: PCI: Fix struct acpi_pci_root_ops allocation failure path

From: Timmy Li <[email protected]>

commit 717902cc93118119a6fce7765da6cf2786987418 upstream.

Commit 093d24a20442 ("arm64: PCI: Manage controller-specific data on per-controller basis") added code to allocate ACPI PCI root_ops dynamically on a per host bridge basis but failed to update the corresponding memory allocation failure path in pci_acpi_scan_root() leading to a potential memory leakage.

Fix it by adding the required kfree call.

Fixes 093d24a20442 ("arm64: PCI: Manage controller-specific data on per-controller basis")
[[email protected]: refactored code, rewrote commit log]
CC Will Deacon <[email protected]>
CC Bjorn Helgaas <[email protected]>
---
 arch/arm64/kernel/pci.c |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
arch/arm64/kernel/pci.c +3 -1
@@ -191,8 +191,10 @@ struct pci_bus *pci_acpi_scan_root(struc
 		return NULL;
 
 	root_ops = kzalloc_node(sizeof(*root_ops), GFP_KERNEL, node);
-	if (!root_ops)
+	if (!root_ops) {
+		kfree(ri);
 		return NULL;
+	}
 
 	ri->cfg = pci_acpi_setup_ecam_mapping(root);
 	if (!ri->cfg) {

Patches currently in stable-queue which might be from [email protected] are

queue-4.11/arm64-pci-fix-struct-acpi_pci_root_ops-allocation-failure-path.patch