All of lore.kernel.org
 help / color / mirror / Atom feed
From: Loic Pallardy <loic.pallardy@st.com>
To: bjorn.andersson@linaro.org, ohad@wizery.com
Cc: linux-remoteproc@vger.kernel.org, linux-kernel@vger.kernel.org,
	arnaud.pouliquen@st.com, benjamin.gaignard@linaro.org,
	s-anna@ti.com, Loic Pallardy <loic.pallardy@st.com>
Subject: [PATCH 2/7] remoteproc: fix rproc_da_to_va in case of unallocated carveout
Date: Thu, 29 Nov 2018 22:29:23 +0100	[thread overview]
Message-ID: <1543526968-56091-3-git-send-email-loic.pallardy@st.com> (raw)
In-Reply-To: <1543526968-56091-1-git-send-email-loic.pallardy@st.com>

With introduction of rproc_alloc_registered_carveouts() which
delays carveout allocation just before the start of the remote
processor, rproc_da_to_va() could be called before all carveouts
are allocated.
This patch adds a check in rproc_da_to_va() to return NULL if
carveout is not allocated.

Fixes: d7c51706d095 ("remoteproc: add alloc ops in rproc_mem_entry struct")

Signed-off-by: Loic Pallardy <loic.pallardy@st.com>
---
 drivers/remoteproc/remoteproc_core.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/remoteproc/remoteproc_core.c b/drivers/remoteproc/remoteproc_core.c
index c1a66e25b173..28df71cb3fef 100644
--- a/drivers/remoteproc/remoteproc_core.c
+++ b/drivers/remoteproc/remoteproc_core.c
@@ -204,6 +204,10 @@ void *rproc_da_to_va(struct rproc *rproc, u64 da, int len)
 	list_for_each_entry(carveout, &rproc->carveouts, node) {
 		int offset = da - carveout->da;
 
+		/*  Verify that carveout is allocated */
+		if (!carveout->va)
+			continue;
+
 		/* try next carveout if da is too small */
 		if (offset < 0)
 			continue;
-- 
2.7.4

WARNING: multiple messages have this Message-ID (diff)
From: Loic Pallardy <loic.pallardy@st.com>
To: <bjorn.andersson@linaro.org>, <ohad@wizery.com>
Cc: <linux-remoteproc@vger.kernel.org>,
	<linux-kernel@vger.kernel.org>, <arnaud.pouliquen@st.com>,
	<benjamin.gaignard@linaro.org>, <s-anna@ti.com>,
	Loic Pallardy <loic.pallardy@st.com>
Subject: [PATCH 2/7] remoteproc: fix rproc_da_to_va in case of unallocated carveout
Date: Thu, 29 Nov 2018 22:29:23 +0100	[thread overview]
Message-ID: <1543526968-56091-3-git-send-email-loic.pallardy@st.com> (raw)
In-Reply-To: <1543526968-56091-1-git-send-email-loic.pallardy@st.com>

With introduction of rproc_alloc_registered_carveouts() which
delays carveout allocation just before the start of the remote
processor, rproc_da_to_va() could be called before all carveouts
are allocated.
This patch adds a check in rproc_da_to_va() to return NULL if
carveout is not allocated.

Fixes: d7c51706d095 ("remoteproc: add alloc ops in rproc_mem_entry struct")

Signed-off-by: Loic Pallardy <loic.pallardy@st.com>
---
 drivers/remoteproc/remoteproc_core.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/remoteproc/remoteproc_core.c b/drivers/remoteproc/remoteproc_core.c
index c1a66e25b173..28df71cb3fef 100644
--- a/drivers/remoteproc/remoteproc_core.c
+++ b/drivers/remoteproc/remoteproc_core.c
@@ -204,6 +204,10 @@ void *rproc_da_to_va(struct rproc *rproc, u64 da, int len)
 	list_for_each_entry(carveout, &rproc->carveouts, node) {
 		int offset = da - carveout->da;
 
+		/*  Verify that carveout is allocated */
+		if (!carveout->va)
+			continue;
+
 		/* try next carveout if da is too small */
 		if (offset < 0)
 			continue;
-- 
2.7.4


  parent reply	other threads:[~2018-11-29 21:29 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-29 21:29 [PATCH 0/7] remoteproc: Fixes for memoy carveout management Loic Pallardy
2018-11-29 21:29 ` Loic Pallardy
2018-11-29 21:29 ` [PATCH 1/7] remoteproc: correct rproc_mem_entry_init() comments Loic Pallardy
2018-11-29 21:29   ` Loic Pallardy
2018-11-29 21:29 ` Loic Pallardy [this message]
2018-11-29 21:29   ` [PATCH 2/7] remoteproc: fix rproc_da_to_va in case of unallocated carveout Loic Pallardy
2018-11-29 21:29 ` [PATCH 3/7] remoteproc: fix rproc_alloc_carveout() bad variable cast Loic Pallardy
2018-11-29 21:29   ` Loic Pallardy
2018-11-29 21:29 ` [PATCH 4/7] remoteproc: add warning on resource table cast Loic Pallardy
2018-11-29 21:29   ` Loic Pallardy
2018-11-30 14:33   ` Arnd Bergmann
2018-11-30 20:48     ` Loic PALLARDY
2018-11-29 21:29 ` [PATCH 5/7] remoteproc: fix rproc_alloc_carveout() for rproc with iommu domain Loic Pallardy
2018-11-29 21:29   ` Loic Pallardy
2018-11-29 21:29 ` [PATCH 6/7] remoteproc: fix trace buffer va initialization Loic Pallardy
2018-11-29 21:29   ` Loic Pallardy
2018-12-06 20:37   ` Loic PALLARDY
2018-12-06 20:37     ` Loic PALLARDY
2018-11-29 21:29 ` [PATCH 7/7] remoteproc: fix rproc_check_carveout_da() returned error and comments Loic Pallardy
2018-11-29 21:29   ` Loic Pallardy

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=1543526968-56091-3-git-send-email-loic.pallardy@st.com \
    --to=loic.pallardy@st.com \
    --cc=arnaud.pouliquen@st.com \
    --cc=benjamin.gaignard@linaro.org \
    --cc=bjorn.andersson@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-remoteproc@vger.kernel.org \
    --cc=ohad@wizery.com \
    --cc=s-anna@ti.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.