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
next prev 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: linkBe 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.