2021-09-10 09:09:19

by Peng Fan (OSS)

[permalink] [raw]
Subject: [PATCH V4 2/6] remoteproc: fix the wrong default value of is_iomem

From: Dong Aisheng <[email protected]>

Currently the is_iomem is a random value in the stack which may
be default to true even on those platforms that not use iomem to
store firmware.

Cc: Bjorn Andersson <[email protected]>
Cc: Mathieu Poirier <[email protected]>
Fixes: 40df0a91b2a5 ("remoteproc: add is_iomem to da_to_va")
Reviewed-and-tested-by: Peng Fan <[email protected]>
Signed-off-by: Dong Aisheng <[email protected]>
Signed-off-by: Peng Fan <[email protected]>
---
drivers/remoteproc/remoteproc_coredump.c | 2 +-
drivers/remoteproc/remoteproc_elf_loader.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/remoteproc/remoteproc_coredump.c b/drivers/remoteproc/remoteproc_coredump.c
index aee657cc08c6a..c892f433a323e 100644
--- a/drivers/remoteproc/remoteproc_coredump.c
+++ b/drivers/remoteproc/remoteproc_coredump.c
@@ -152,8 +152,8 @@ static void rproc_copy_segment(struct rproc *rproc, void *dest,
struct rproc_dump_segment *segment,
size_t offset, size_t size)
{
+ bool is_iomem = false;
void *ptr;
- bool is_iomem;

if (segment->dump) {
segment->dump(rproc, segment, dest, offset, size);
diff --git a/drivers/remoteproc/remoteproc_elf_loader.c b/drivers/remoteproc/remoteproc_elf_loader.c
index 44e7f9308f4bc..d635d19a5aa8a 100644
--- a/drivers/remoteproc/remoteproc_elf_loader.c
+++ b/drivers/remoteproc/remoteproc_elf_loader.c
@@ -178,8 +178,8 @@ int rproc_elf_load_segments(struct rproc *rproc, const struct firmware *fw)
u64 filesz = elf_phdr_get_p_filesz(class, phdr);
u64 offset = elf_phdr_get_p_offset(class, phdr);
u32 type = elf_phdr_get_p_type(class, phdr);
+ bool is_iomem = false;
void *ptr;
- bool is_iomem;

if (type != PT_LOAD)
continue;
--
2.25.1


2021-09-20 17:58:01

by Mathieu Poirier

[permalink] [raw]
Subject: Re: [PATCH V4 2/6] remoteproc: fix the wrong default value of is_iomem

On Fri, Sep 10, 2021 at 05:06:17PM +0800, Peng Fan (OSS) wrote:
> From: Dong Aisheng <[email protected]>
>
> Currently the is_iomem is a random value in the stack which may
> be default to true even on those platforms that not use iomem to
> store firmware.
>
> Cc: Bjorn Andersson <[email protected]>
> Cc: Mathieu Poirier <[email protected]>
> Fixes: 40df0a91b2a5 ("remoteproc: add is_iomem to da_to_va")
> Reviewed-and-tested-by: Peng Fan <[email protected]>
> Signed-off-by: Dong Aisheng <[email protected]>
> Signed-off-by: Peng Fan <[email protected]>
> ---
> drivers/remoteproc/remoteproc_coredump.c | 2 +-
> drivers/remoteproc/remoteproc_elf_loader.c | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>

Applied

> diff --git a/drivers/remoteproc/remoteproc_coredump.c b/drivers/remoteproc/remoteproc_coredump.c
> index aee657cc08c6a..c892f433a323e 100644
> --- a/drivers/remoteproc/remoteproc_coredump.c
> +++ b/drivers/remoteproc/remoteproc_coredump.c
> @@ -152,8 +152,8 @@ static void rproc_copy_segment(struct rproc *rproc, void *dest,
> struct rproc_dump_segment *segment,
> size_t offset, size_t size)
> {
> + bool is_iomem = false;
> void *ptr;
> - bool is_iomem;
>
> if (segment->dump) {
> segment->dump(rproc, segment, dest, offset, size);
> diff --git a/drivers/remoteproc/remoteproc_elf_loader.c b/drivers/remoteproc/remoteproc_elf_loader.c
> index 44e7f9308f4bc..d635d19a5aa8a 100644
> --- a/drivers/remoteproc/remoteproc_elf_loader.c
> +++ b/drivers/remoteproc/remoteproc_elf_loader.c
> @@ -178,8 +178,8 @@ int rproc_elf_load_segments(struct rproc *rproc, const struct firmware *fw)
> u64 filesz = elf_phdr_get_p_filesz(class, phdr);
> u64 offset = elf_phdr_get_p_offset(class, phdr);
> u32 type = elf_phdr_get_p_type(class, phdr);
> + bool is_iomem = false;
> void *ptr;
> - bool is_iomem;
>
> if (type != PT_LOAD)
> continue;
> --
> 2.25.1
>