Re: [PATCH] remoteproc: elf_loader: Update resource table name check

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 12/10/2022 8:36 AM, Peng Fan wrote:
Thanks for your time and valuable suggestion Pang!!!

On 12/1/2022 8:20 PM, Srinivasa Rao Mandadapu wrote:
Update resource table name check with sub string search instead of
complete string search.
In general Qualcomm binary contains, section header name
(e.g. .resource_table), amended with extra string to differentiate
with other sections.
So far Android adsp binaries are being authenticated using TZ,
hence this mismatch hasn't created any problem.
In recent developments, ADSP binary is being used in Chrome based
platforms, which doesn't have TZ path, hence resource table is
required for memory sandboxing.

Signed-off-by: Srinivasa Rao Mandadapu <quic_srivasam@xxxxxxxxxxx>
---
  drivers/remoteproc/remoteproc_elf_loader.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/remoteproc/remoteproc_elf_loader.c b/drivers/remoteproc/remoteproc_elf_loader.c
index 5a412d7..0feb120 100644
--- a/drivers/remoteproc/remoteproc_elf_loader.c
+++ b/drivers/remoteproc/remoteproc_elf_loader.c
@@ -272,7 +272,7 @@ find_table(struct device *dev, const struct firmware *fw)
          u64 offset = elf_shdr_get_sh_offset(class, shdr);
          u32 name = elf_shdr_get_sh_name(class, shdr);
  -        if (strcmp(name_table + name, ".resource_table"))
+        if (!strstr(name_table + name, ".resource_table"))
              continue;

How about ?
    if (strcmp(name_table + name, ".resource_table")) {
        if (strstr(name_table + name, ".resource_table"))
              break;
        continue;
    }

It looks valid approach to me. But other reviewers may object on double check. Let's see Stephen Boyd comments also,

and handle it accordingly.


Regards,
Peng.
            table = (struct resource_table *)(elf_data + offset);



[Index of Archives]     [Linux Sound]     [ALSA Users]     [ALSA Devel]     [Linux Audio Users]     [Linux Media]     [Kernel]     [Photo Sharing]     [Gimp]     [Yosemite News]     [Linux Media]

  Powered by Linux