diff mbox series

powerpc/cell/axon_msi: Fix refcount leak in setup_msi_msg_address

Message ID 20220605065129.63906-1-linmq006@gmail.com (mailing list archive)
State Accepted
Headers show
Series powerpc/cell/axon_msi: Fix refcount leak in setup_msi_msg_address | expand

Checks

Context Check Description
snowpatch_ozlabs/github-powerpc_clang success Successfully ran 7 jobs.
snowpatch_ozlabs/github-powerpc_ppctests success Successfully ran 10 jobs.
snowpatch_ozlabs/github-powerpc_selftests success Successfully ran 10 jobs.
snowpatch_ozlabs/github-powerpc_sparse success Successfully ran 4 jobs.
snowpatch_ozlabs/github-powerpc_kernel_qemu success Successfully ran 23 jobs.

Commit Message

Miaoqian Lin June 5, 2022, 6:51 a.m. UTC
of_get_next_parent() returns a node pointer with refcount incremented,
we should use of_node_put() on it when not need anymore.
Add missing of_node_put() in the error path to avoid refcount leak.

Fixes: ce21b3c9648a ("[CELL] add support for MSI on Axon-based Cell systems")
Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
---
 arch/powerpc/platforms/cell/axon_msi.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Michael Ellerman Aug. 2, 2022, 11:02 a.m. UTC | #1
On Sun, 5 Jun 2022 10:51:29 +0400, Miaoqian Lin wrote:
> of_get_next_parent() returns a node pointer with refcount incremented,
> we should use of_node_put() on it when not need anymore.
> Add missing of_node_put() in the error path to avoid refcount leak.
> 
> 

Applied to powerpc/next.

[1/1] powerpc/cell/axon_msi: Fix refcount leak in setup_msi_msg_address
      https://git.kernel.org/powerpc/c/df5d4b616ee76abc97e5bd348e22659c2b095b1c

cheers
diff mbox series

Patch

diff --git a/arch/powerpc/platforms/cell/axon_msi.c b/arch/powerpc/platforms/cell/axon_msi.c
index f3291e957a19..5b012abca773 100644
--- a/arch/powerpc/platforms/cell/axon_msi.c
+++ b/arch/powerpc/platforms/cell/axon_msi.c
@@ -223,6 +223,7 @@  static int setup_msi_msg_address(struct pci_dev *dev, struct msi_msg *msg)
 	if (!prop) {
 		dev_dbg(&dev->dev,
 			"axon_msi: no msi-address-(32|64) properties found\n");
+		of_node_put(dn);
 		return -ENOENT;
 	}