All of lore.kernel.org
 help / color / mirror / Atom feed
From: <gregkh@linuxfoundation.org>
To: bhelgaas@google.com, gregkh@linuxfoundation.org,
	kabel@kernel.org, linux-arm-kernel@lists.infradead.org,
	lorenzo.pieralisi@arm.com, pali@kernel.org, sashal@kernel.org,
	thomas.petazzoni@bootlin.com, wen.yang99@zte.com.cn
Cc: <stable-commits@vger.kernel.org>
Subject: Patch "PCI: aardvark: Fix a leaked reference by adding missing of_node_put()" has been added to the 4.19-stable tree
Date: Sun, 28 Nov 2021 14:13:46 +0100	[thread overview]
Message-ID: <163810522615468@kroah.com> (raw)
In-Reply-To: <20211124230500.27109-2-kabel@kernel.org>


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

    PCI: aardvark: Fix a leaked reference by adding missing of_node_put()

to the 4.19-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:
     pci-aardvark-fix-a-leaked-reference-by-adding-missing-of_node_put.patch
and it can be found in the queue-4.19 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@vger.kernel.org> know about it.


From foo@baz Sun Nov 28 02:10:56 PM CET 2021
From: "Marek Behún" <kabel@kernel.org>
Date: Thu, 25 Nov 2021 00:04:41 +0100
Subject: PCI: aardvark: Fix a leaked reference by adding missing of_node_put()
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Sasha Levin <sashal@kernel.org>
Cc: pali@kernel.org, stable@vger.kernel.org, "Wen Yang" <wen.yang99@zte.com.cn>, "Lorenzo Pieralisi" <lorenzo.pieralisi@arm.com>, "Thomas Petazzoni" <thomas.petazzoni@bootlin.com>, "Bjorn Helgaas" <bhelgaas@google.com>, linux-pci@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, "Marek Behún" <kabel@kernel.org>
Message-ID: <20211124230500.27109-2-kabel@kernel.org>

From: Wen Yang <wen.yang99@zte.com.cn>

commit 3842f5166bf1ef286fe7a39f262b5c9581308366 upstream.

The call to of_get_next_child() returns a node pointer with refcount
incremented thus it must be explicitly decremented after the last
usage.

irq_domain_add_linear() also calls of_node_get() to increase refcount,
so irq_domain will not be affected when it is released.

Detected by coccinelle with the following warnings:
  ./drivers/pci/controller/pci-aardvark.c:826:1-7: ERROR: missing of_node_put; acquired a node pointer with refcount incremented on line 798, but without a corresponding object release within this function.

Signed-off-by: Wen Yang <wen.yang99@zte.com.cn>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Cc: Bjorn Helgaas <bhelgaas@google.com>
Cc: linux-pci@vger.kernel.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Marek Behún <kabel@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 drivers/pci/controller/pci-aardvark.c |   13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

--- a/drivers/pci/controller/pci-aardvark.c
+++ b/drivers/pci/controller/pci-aardvark.c
@@ -754,6 +754,7 @@ static int advk_pcie_init_irq_domain(str
 	struct device_node *node = dev->of_node;
 	struct device_node *pcie_intc_node;
 	struct irq_chip *irq_chip;
+	int ret = 0;
 
 	raw_spin_lock_init(&pcie->irq_lock);
 
@@ -768,8 +769,8 @@ static int advk_pcie_init_irq_domain(str
 	irq_chip->name = devm_kasprintf(dev, GFP_KERNEL, "%s-irq",
 					dev_name(dev));
 	if (!irq_chip->name) {
-		of_node_put(pcie_intc_node);
-		return -ENOMEM;
+		ret = -ENOMEM;
+		goto out_put_node;
 	}
 
 	irq_chip->irq_mask = advk_pcie_irq_mask;
@@ -781,11 +782,13 @@ static int advk_pcie_init_irq_domain(str
 				      &advk_pcie_irq_domain_ops, pcie);
 	if (!pcie->irq_domain) {
 		dev_err(dev, "Failed to get a INTx IRQ domain\n");
-		of_node_put(pcie_intc_node);
-		return -ENOMEM;
+		ret = -ENOMEM;
+		goto out_put_node;
 	}
 
-	return 0;
+out_put_node:
+	of_node_put(pcie_intc_node);
+	return ret;
 }
 
 static void advk_pcie_remove_irq_domain(struct advk_pcie *pcie)


Patches currently in stable-queue which might be from kabel@kernel.org are

queue-4.19/pci-aardvark-move-pcie-reset-card-code-to-advk_pcie_train_link.patch
queue-4.19/pci-aardvark-update-comment-about-disabling-link-training.patch
queue-4.19/pci-aardvark-train-link-immediately-after-enabling-training.patch
queue-4.19/arm64-dts-marvell-armada-37xx-declare-pcie-reset-pin.patch
queue-4.19/pci-aardvark-replace-custom-macros-by-standard-linux-pci_regs.h-macros.patch
queue-4.19/pci-aardvark-fix-a-leaked-reference-by-adding-missing-of_node_put.patch
queue-4.19/pci-aardvark-fix-pcie-max-payload-size-setting.patch
queue-4.19/pinctrl-armada-37xx-correct-pwm-pins-definitions.patch
queue-4.19/arm64-dts-marvell-armada-37xx-set-pcie_reset_pin-to-gpio-function.patch
queue-4.19/pci-aardvark-configure-pcie-resources-from-ranges-dt-property.patch
queue-4.19/pci-aardvark-improve-link-training.patch
queue-4.19/pci-aardvark-fix-link-training.patch
queue-4.19/pci-aardvark-fix-checking-for-link-up-via-ltssm-state.patch
queue-4.19/pci-aardvark-issue-perst-via-gpio.patch
queue-4.19/pinctrl-armada-37xx-correct-mpp-definitions.patch
queue-4.19/pci-aardvark-wait-for-endpoint-to-be-ready-before-training-link.patch
queue-4.19/pinctrl-armada-37xx-add-missing-pin-pcie1-wakeup.patch
queue-4.19/pci-aardvark-fix-compilation-on-s390.patch
queue-4.19/pci-aardvark-don-t-touch-pcie-registers-if-no-card-connected.patch
queue-4.19/pci-aardvark-indicate-error-in-val-when-config-read-fails.patch

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2021-11-28 13:15 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-24 23:04 [PATCH 4.19 00/20] Armada 3720 PCIe fixes for 4.19 Marek Behún
2021-11-24 23:04 ` [PATCH 4.19 01/20] PCI: aardvark: Fix a leaked reference by adding missing of_node_put() Marek Behún
2021-11-24 23:04   ` Marek Behún
2021-11-28 13:13   ` gregkh [this message]
2021-11-24 23:04 ` [PATCH 4.19 02/20] PCI: aardvark: Wait for endpoint to be ready before training link Marek Behún
2021-11-24 23:04 ` [PATCH 4.19 03/20] PCI: aardvark: Train link immediately after enabling training Marek Behún
2021-11-24 23:04 ` [PATCH 4.19 04/20] PCI: aardvark: Improve link training Marek Behún
2021-11-24 23:04 ` [PATCH 4.19 05/20] PCI: aardvark: Issue PERST via GPIO Marek Behún
2021-11-24 23:04 ` [PATCH 4.19 06/20] PCI: aardvark: Replace custom macros by standard linux/pci_regs.h macros Marek Behún
2021-11-24 23:04 ` [PATCH 4.19 07/20] PCI: aardvark: Indicate error in 'val' when config read fails Marek Behún
2021-11-24 23:04 ` [PATCH 4.19 08/20] PCI: aardvark: Don't touch PCIe registers if no card connected Marek Behún
2021-11-24 23:04 ` [PATCH 4.19 09/20] PCI: aardvark: Fix compilation on s390 Marek Behún
2021-11-24 23:04 ` [PATCH 4.19 10/20] PCI: aardvark: Move PCIe reset card code to advk_pcie_train_link() Marek Behún
2021-11-24 23:04 ` [PATCH 4.19 11/20] PCI: aardvark: Update comment about disabling link training Marek Behún
2021-11-24 23:04 ` [PATCH 4.19 12/20] PCI: aardvark: Configure PCIe resources from 'ranges' DT property Marek Behún
2021-11-24 23:04 ` [PATCH 4.19 13/20] PCI: aardvark: Fix PCIe Max Payload Size setting Marek Behún
2021-11-24 23:04 ` [PATCH 4.19 14/20] PCI: aardvark: Fix link training Marek Behún
2021-11-24 23:04 ` [PATCH 4.19 15/20] PCI: aardvark: Fix checking for link up via LTSSM state Marek Behún
2021-11-24 23:04 ` [PATCH 4.19 16/20] pinctrl: armada-37xx: Correct mpp definitions Marek Behún
2021-11-24 23:04 ` [PATCH 4.19 17/20] pinctrl: armada-37xx: add missing pin: PCIe1 Wakeup Marek Behún
2021-11-24 23:04 ` [PATCH 4.19 18/20] pinctrl: armada-37xx: Correct PWM pins definitions Marek Behún
2021-11-24 23:04 ` [PATCH 4.19 19/20] arm64: dts: marvell: armada-37xx: declare PCIe reset pin Marek Behún
2021-11-24 23:05 ` [PATCH 4.19 20/20] arm64: dts: marvell: armada-37xx: Set pcie_reset_pin to gpio function Marek Behún
2021-11-28 14:16 ` [PATCH 4.19 00/20] Armada 3720 PCIe fixes for 4.19 Greg Kroah-Hartman
2021-11-28 14:16 ` Greg Kroah-Hartman
2021-11-28 14:22   ` Pali Rohár
2021-11-28 14:36     ` Greg Kroah-Hartman
2021-11-28 16:33       ` Pali Rohár

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=163810522615468@kroah.com \
    --to=gregkh@linuxfoundation.org \
    --cc=bhelgaas@google.com \
    --cc=kabel@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=lorenzo.pieralisi@arm.com \
    --cc=pali@kernel.org \
    --cc=sashal@kernel.org \
    --cc=stable-commits@vger.kernel.org \
    --cc=thomas.petazzoni@bootlin.com \
    --cc=wen.yang99@zte.com.cn \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.