Re: [PATCH] remoteproc: qcom: fix sparse warnings

From: Mukesh Ojha
Date: Tue Feb 14 2023 - 09:18:26 EST




On 2/13/2023 6:25 AM, Dmitry Baryshkov wrote:
On 31/01/2023 18:01, Mukesh Ojha wrote:
This patch try to address below sparse warnings.

drivers/remoteproc/qcom_common.c:126:27: warning: restricted __le32 degrades to integer
drivers/remoteproc/qcom_common.c:133:32: warning: cast to restricted __le32
drivers/remoteproc/qcom_common.c:133:32: warning: cast from restricted __le64

Signed-off-by: Mukesh Ojha <quic_mojha@xxxxxxxxxxx>

Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx>


Thanks for the review.

Also see below.

---
  drivers/remoteproc/qcom_common.c | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/remoteproc/qcom_common.c b/drivers/remoteproc/qcom_common.c
index 020349f..7133c1f 100644
--- a/drivers/remoteproc/qcom_common.c
+++ b/drivers/remoteproc/qcom_common.c
@@ -123,14 +123,14 @@ static int qcom_add_minidump_segments(struct rproc *rproc, struct minidump_subsy
      for (i = 0; i < seg_cnt; i++) {
          memcpy_fromio(&region, ptr + i, sizeof(region));
-        if (region.valid == MD_REGION_VALID) {
+        if (le32_to_cpu(region.valid) == MD_REGION_VALID) {
              name = kstrdup(region.name, GFP_KERNEL);

While you are at it, please replace this kstrdup() with kstrndup(). There is no guarantee that region.name will be 0-terminated.

Kept it as separate patch in this mail thread itself.

-Mukesh
              if (!name) {
                  iounmap(ptr);
                  return -ENOMEM;
              }
              da = le64_to_cpu(region.address);
-            size = le32_to_cpu(region.size);
+            size = le64_to_cpu(region.size);
              rproc_coredump_add_custom_segment(rproc, da, size, NULL, name);
          }
      }