All of lore.kernel.org
 help / color / mirror / Atom feed
From: Miaoqian Lin <linmq006@gmail.com>
To: Hector Martin <marcan@marcan.st>, Sven Peter <sven@svenpeter.dev>,
	Alyssa Rosenzweig <alyssa@rosenzweig.io>,
	Thomas Gleixner <tglx@linutronix.de>,
	Marc Zyngier <maz@kernel.org>,
	Linus Walleij <linus.walleij@linaro.org>,
	Birger Koblitz <mail@birger-koblitz.de>,
	John Crispin <john@phrozen.org>, Bert Vermeulen <bert@biot.com>,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org
Cc: Miaoqian Lin <linmq006@gmail.com>
Subject: [PATCH 4/6] irqchip/gic-v3: Fix error handling in gic_populate_ppi_partitions
Date: Wed,  1 Jun 2022 12:09:28 +0400	[thread overview]
Message-ID: <20220601080930.31005-5-linmq006@gmail.com> (raw)
In-Reply-To: <20220601080930.31005-1-linmq006@gmail.com>

of_get_child_by_name() returns a node pointer with refcount
incremented, we should use of_node_put() on it when not need anymore.
When kcalloc fails, it missing of_node_put() and results in refcount
leak. Fix this by goto out_put_node label.

Fixes: 52085d3f2028 ("irqchip/gic-v3: Dynamically allocate PPI partition descriptors")
Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
---
 drivers/irqchip/irq-gic-v3.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/irqchip/irq-gic-v3.c b/drivers/irqchip/irq-gic-v3.c
index 2be8dea6b6b0..1d5b4755a27e 100644
--- a/drivers/irqchip/irq-gic-v3.c
+++ b/drivers/irqchip/irq-gic-v3.c
@@ -1932,7 +1932,7 @@ static void __init gic_populate_ppi_partitions(struct device_node *gic_node)
 
 	gic_data.ppi_descs = kcalloc(gic_data.ppi_nr, sizeof(*gic_data.ppi_descs), GFP_KERNEL);
 	if (!gic_data.ppi_descs)
-		return;
+		goto out_put_node;
 
 	nr_parts = of_get_child_count(parts_node);
 
-- 
2.25.1


WARNING: multiple messages have this Message-ID (diff)
From: Miaoqian Lin <linmq006@gmail.com>
To: Hector Martin <marcan@marcan.st>, Sven Peter <sven@svenpeter.dev>,
	Alyssa Rosenzweig <alyssa@rosenzweig.io>,
	Thomas Gleixner <tglx@linutronix.de>,
	Marc Zyngier <maz@kernel.org>,
	Linus Walleij <linus.walleij@linaro.org>,
	Birger Koblitz <mail@birger-koblitz.de>,
	John Crispin <john@phrozen.org>, Bert Vermeulen <bert@biot.com>,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org
Cc: Miaoqian Lin <linmq006@gmail.com>
Subject: [PATCH 4/6] irqchip/gic-v3: Fix error handling in gic_populate_ppi_partitions
Date: Wed,  1 Jun 2022 12:09:28 +0400	[thread overview]
Message-ID: <20220601080930.31005-5-linmq006@gmail.com> (raw)
In-Reply-To: <20220601080930.31005-1-linmq006@gmail.com>

of_get_child_by_name() returns a node pointer with refcount
incremented, we should use of_node_put() on it when not need anymore.
When kcalloc fails, it missing of_node_put() and results in refcount
leak. Fix this by goto out_put_node label.

Fixes: 52085d3f2028 ("irqchip/gic-v3: Dynamically allocate PPI partition descriptors")
Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
---
 drivers/irqchip/irq-gic-v3.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/irqchip/irq-gic-v3.c b/drivers/irqchip/irq-gic-v3.c
index 2be8dea6b6b0..1d5b4755a27e 100644
--- a/drivers/irqchip/irq-gic-v3.c
+++ b/drivers/irqchip/irq-gic-v3.c
@@ -1932,7 +1932,7 @@ static void __init gic_populate_ppi_partitions(struct device_node *gic_node)
 
 	gic_data.ppi_descs = kcalloc(gic_data.ppi_nr, sizeof(*gic_data.ppi_descs), GFP_KERNEL);
 	if (!gic_data.ppi_descs)
-		return;
+		goto out_put_node;
 
 	nr_parts = of_get_child_count(parts_node);
 
-- 
2.25.1


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

  parent reply	other threads:[~2022-06-01  8:12 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-01  8:09 [PATCH 0/6] irqchip: Fix some refcount leaks Miaoqian Lin
2022-06-01  8:09 ` Miaoqian Lin
2022-06-01  8:09 ` [PATCH 1/6] irqchip/gic/realview: Fix refcount leak in realview_gic_of_init Miaoqian Lin
2022-06-01  8:09   ` Miaoqian Lin
2022-06-09 16:50   ` [irqchip: irq/irqchip-fixes] " irqchip-bot for Miaoqian Lin
2022-06-01  8:09 ` [PATCH 2/6] irqchip/apple-aic: Fix refcount leak in build_fiq_affinity Miaoqian Lin
2022-06-01  8:09   ` Miaoqian Lin
2022-06-09 16:50   ` [irqchip: irq/irqchip-fixes] " irqchip-bot for Miaoqian Lin
2022-06-01  8:09 ` [PATCH 3/6] irqchip/apple-aic: Fix refcount leak in aic_of_ic_init Miaoqian Lin
2022-06-01  8:09   ` Miaoqian Lin
2022-06-09 16:50   ` [irqchip: irq/irqchip-fixes] " irqchip-bot for Miaoqian Lin
2022-06-01  8:09 ` Miaoqian Lin [this message]
2022-06-01  8:09   ` [PATCH 4/6] irqchip/gic-v3: Fix error handling in gic_populate_ppi_partitions Miaoqian Lin
2022-06-09 16:50   ` [irqchip: irq/irqchip-fixes] " irqchip-bot for Miaoqian Lin
2022-06-01  8:09 ` [PATCH 5/6] irqchip/gic-v3: Fix refcount leak " Miaoqian Lin
2022-06-01  8:09   ` Miaoqian Lin
2022-06-09 16:50   ` [irqchip: irq/irqchip-fixes] " irqchip-bot for Miaoqian Lin
2022-06-01  8:09 ` [PATCH 6/6] irqchip/realtek-rtl: Fix refcount leak in map_interrupts Miaoqian Lin
2022-06-01  8:09   ` Miaoqian Lin
2022-06-09 16:50   ` [irqchip: irq/irqchip-fixes] " irqchip-bot for Miaoqian Lin

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=20220601080930.31005-5-linmq006@gmail.com \
    --to=linmq006@gmail.com \
    --cc=alyssa@rosenzweig.io \
    --cc=bert@biot.com \
    --cc=john@phrozen.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mail@birger-koblitz.de \
    --cc=marcan@marcan.st \
    --cc=maz@kernel.org \
    --cc=sven@svenpeter.dev \
    --cc=tglx@linutronix.de \
    /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.