All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mathieu Poirier <mathieu.poirier@linaro.org>
To: andersson@kernel.org
Cc: shawnguo@kernel.org, s.hauer@pengutronix.de,
	kernel@pengutronix.de, festevam@gmail.com, linux-imx@nxp.com,
	patrice.chotard@foss.st.com, mcoquelin.stm32@gmail.com,
	alexandre.torgue@foss.st.com, arnaud.pouliquen@st.com,
	hongxing.zhu@nxp.com, peng.fan@nxp.com, shengjiu.wang@nxp.com,
	linux-remoteproc@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org
Subject: [PATCH 4/5] remoteproc: imx_rproc: Call of_node_put() on iteration error
Date: Mon, 20 Mar 2023 16:18:25 -0600	[thread overview]
Message-ID: <20230320221826.2728078-5-mathieu.poirier@linaro.org> (raw)
In-Reply-To: <20230320221826.2728078-1-mathieu.poirier@linaro.org>

Function of_phandle_iterator_next() calls of_node_put() on the last
device_node it iterated over, but when the loop exits prematurely it has
to be called explicitly.

Fixes: b29b4249f8f0 ("remoteproc: imx_rproc: add i.MX specific parse fw hook")
Cc: stable@vger.kernel.org
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
---
 drivers/remoteproc/imx_rproc.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/drivers/remoteproc/imx_rproc.c b/drivers/remoteproc/imx_rproc.c
index 9fc978e0393c..0ab840dc7e97 100644
--- a/drivers/remoteproc/imx_rproc.c
+++ b/drivers/remoteproc/imx_rproc.c
@@ -541,6 +541,7 @@ static int imx_rproc_prepare(struct rproc *rproc)
 
 		rmem = of_reserved_mem_lookup(it.node);
 		if (!rmem) {
+			of_node_put(it.node);
 			dev_err(priv->dev, "unable to acquire memory-region\n");
 			return -EINVAL;
 		}
@@ -553,10 +554,12 @@ static int imx_rproc_prepare(struct rproc *rproc)
 					   imx_rproc_mem_alloc, imx_rproc_mem_release,
 					   it.node->name);
 
-		if (mem)
+		if (mem) {
 			rproc_coredump_add_segment(rproc, da, rmem->size);
-		else
+		} else {
+			of_node_put(it.node);
 			return -ENOMEM;
+		}
 
 		rproc_add_carveout(rproc, mem);
 	}
-- 
2.25.1


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

WARNING: multiple messages have this Message-ID (diff)
From: Mathieu Poirier <mathieu.poirier@linaro.org>
To: andersson@kernel.org
Cc: shawnguo@kernel.org, s.hauer@pengutronix.de,
	kernel@pengutronix.de, festevam@gmail.com, linux-imx@nxp.com,
	patrice.chotard@foss.st.com, mcoquelin.stm32@gmail.com,
	alexandre.torgue@foss.st.com, arnaud.pouliquen@st.com,
	hongxing.zhu@nxp.com, peng.fan@nxp.com, shengjiu.wang@nxp.com,
	linux-remoteproc@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org
Subject: [PATCH 4/5] remoteproc: imx_rproc: Call of_node_put() on iteration error
Date: Mon, 20 Mar 2023 16:18:25 -0600	[thread overview]
Message-ID: <20230320221826.2728078-5-mathieu.poirier@linaro.org> (raw)
In-Reply-To: <20230320221826.2728078-1-mathieu.poirier@linaro.org>

Function of_phandle_iterator_next() calls of_node_put() on the last
device_node it iterated over, but when the loop exits prematurely it has
to be called explicitly.

Fixes: b29b4249f8f0 ("remoteproc: imx_rproc: add i.MX specific parse fw hook")
Cc: stable@vger.kernel.org
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
---
 drivers/remoteproc/imx_rproc.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/drivers/remoteproc/imx_rproc.c b/drivers/remoteproc/imx_rproc.c
index 9fc978e0393c..0ab840dc7e97 100644
--- a/drivers/remoteproc/imx_rproc.c
+++ b/drivers/remoteproc/imx_rproc.c
@@ -541,6 +541,7 @@ static int imx_rproc_prepare(struct rproc *rproc)
 
 		rmem = of_reserved_mem_lookup(it.node);
 		if (!rmem) {
+			of_node_put(it.node);
 			dev_err(priv->dev, "unable to acquire memory-region\n");
 			return -EINVAL;
 		}
@@ -553,10 +554,12 @@ static int imx_rproc_prepare(struct rproc *rproc)
 					   imx_rproc_mem_alloc, imx_rproc_mem_release,
 					   it.node->name);
 
-		if (mem)
+		if (mem) {
 			rproc_coredump_add_segment(rproc, da, rmem->size);
-		else
+		} else {
+			of_node_put(it.node);
 			return -ENOMEM;
+		}
 
 		rproc_add_carveout(rproc, mem);
 	}
-- 
2.25.1


  parent reply	other threads:[~2023-03-20 22:19 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-20 22:18 [PATCH 0/5] remoteproc: Call of_node_put() on iteration error Mathieu Poirier
2023-03-20 22:18 ` Mathieu Poirier
2023-03-20 22:18 ` [PATCH 1/5] remoteproc: stm32: " Mathieu Poirier
2023-03-20 22:18   ` Mathieu Poirier
2023-03-21  9:00   ` Arnaud POULIQUEN
2023-03-21  9:00     ` Arnaud POULIQUEN
2023-03-21 21:32     ` Mathieu Poirier
2023-03-21 21:32       ` Mathieu Poirier
2023-03-22  8:21       ` Arnaud POULIQUEN
2023-03-22  8:21         ` Arnaud POULIQUEN
2023-03-20 22:18 ` [PATCH 2/5] remoteproc: st: " Mathieu Poirier
2023-03-20 22:18   ` Mathieu Poirier
2023-03-21  9:01   ` Arnaud POULIQUEN
2023-03-21  9:01     ` Arnaud POULIQUEN
2023-03-20 22:18 ` [PATCH 3/5] remoteproc: rcar_rproc: " Mathieu Poirier
2023-03-20 22:18   ` Mathieu Poirier
2023-03-20 22:18 ` Mathieu Poirier [this message]
2023-03-20 22:18   ` [PATCH 4/5] remoteproc: imx_rproc: " Mathieu Poirier
2023-03-21  3:00   ` Peng Fan
2023-03-21  3:00     ` Peng Fan
2023-03-20 22:18 ` [PATCH 5/5] retmoteproc: imx_dsp_rproc: " Mathieu Poirier
2023-03-20 22:18   ` Mathieu Poirier
2023-03-20 23:02   ` Fabio Estevam
2023-03-20 23:02     ` Fabio Estevam
2023-03-21 21:19     ` Mathieu Poirier
2023-03-21 21:19       ` Mathieu Poirier
2023-03-21  3:34   ` S.J. Wang
2023-03-21  3:34     ` S.J. Wang

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=20230320221826.2728078-5-mathieu.poirier@linaro.org \
    --to=mathieu.poirier@linaro.org \
    --cc=alexandre.torgue@foss.st.com \
    --cc=andersson@kernel.org \
    --cc=arnaud.pouliquen@st.com \
    --cc=festevam@gmail.com \
    --cc=hongxing.zhu@nxp.com \
    --cc=kernel@pengutronix.de \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-imx@nxp.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-remoteproc@vger.kernel.org \
    --cc=mcoquelin.stm32@gmail.com \
    --cc=patrice.chotard@foss.st.com \
    --cc=peng.fan@nxp.com \
    --cc=s.hauer@pengutronix.de \
    --cc=shawnguo@kernel.org \
    --cc=shengjiu.wang@nxp.com \
    /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.