lkml.org 
[lkml]   [2020]   [Apr]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 2/2] remoteproc: use filesz as backup when translate memsz fail
    Date
    Since we no need memset if memsz is larger than filesz, we could
    use filesz for the da to va translation when memsz translation fail.

    Signed-off-by: Peng Fan <peng.fan@nxp.com>
    ---
    drivers/remoteproc/remoteproc_elf_loader.c | 12 ++++++++++--
    1 file changed, 10 insertions(+), 2 deletions(-)

    diff --git a/drivers/remoteproc/remoteproc_elf_loader.c b/drivers/remoteproc/remoteproc_elf_loader.c
    index cc50fe70d50c..74d425a4b34c 100644
    --- a/drivers/remoteproc/remoteproc_elf_loader.c
    +++ b/drivers/remoteproc/remoteproc_elf_loader.c
    @@ -229,8 +229,16 @@ int rproc_elf_load_segments(struct rproc *rproc, const struct firmware *fw)
    if (!ptr) {
    dev_err(dev, "bad phdr da 0x%llx mem 0x%llx\n", da,
    memsz);
    - ret = -EINVAL;
    - break;
    +
    + ptr = rproc_da_to_va(rproc, da, filesz);
    + if (!ptr) {
    + dev_err(dev,
    + "bad phdr da 0x%llx mem 0x%llx\n",
    + da, filesz);
    + ret = -EINVAL;
    + break;
    + }
    +
    }

    /* put the segment where the remote processor expects it */
    --
    2.16.4
    \
     
     \ /
      Last update: 2020-04-09 10:31    [W:4.343 / U:23.596 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site