drivers/remoteproc/qcom_common.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
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@quicinc.com>
---
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(®ion, 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);
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);
}
}
--
2.7.4
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@quicinc.com> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> 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(®ion, 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. > 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); > } > } -- With best wishes Dmitry
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@quicinc.com> > > Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> > 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(®ion, 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); >> } >> } >
Friendly reminder. -Mukesh On 1/31/2023 9:31 PM, 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@quicinc.com> > --- > 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(®ion, 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); > 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); > } > }
Since, there is no guarantee that region.name will be 0-terminated
from the firmware side, replace kstrdup with kstrndup.
Suggested-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Mukesh Ojha <quic_mojha@quicinc.com>
---
drivers/remoteproc/qcom_common.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/remoteproc/qcom_common.c b/drivers/remoteproc/qcom_common.c
index 020349f..7810f91 100644
--- a/drivers/remoteproc/qcom_common.c
+++ b/drivers/remoteproc/qcom_common.c
@@ -124,7 +124,7 @@ static int qcom_add_minidump_segments(struct rproc *rproc, struct minidump_subsy
for (i = 0; i < seg_cnt; i++) {
memcpy_fromio(®ion, ptr + i, sizeof(region));
if (region.valid == MD_REGION_VALID) {
- name = kstrdup(region.name, GFP_KERNEL);
+ name = kstrndup(region.name, MAX_REGION_NAME_LENGTH - 1, GFP_KERNEL);
if (!name) {
iounmap(ptr);
return -ENOMEM;
--
2.7.4
On Tue, 14 Feb 2023 19:38:11 +0530, Mukesh Ojha wrote: > Since, there is no guarantee that region.name will be 0-terminated > from the firmware side, replace kstrdup with kstrndup. > > Applied, thanks! [1/1] remoteproc: qcom: replace kstrdup with kstrndup commit: 9d5b9ad97f83b2390a6006eeb5ae5e48ec4298ce Best regards, -- Bjorn Andersson <andersson@kernel.org>
On Tue, Feb 14, 2023 at 07:38:11PM +0530, Mukesh Ojha wrote: > Since, there is no guarantee that region.name will be 0-terminated > from the firmware side, replace kstrdup with kstrndup. > > Suggested-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> > Signed-off-by: Mukesh Ojha <quic_mojha@quicinc.com> Please don't send additional patches in-reply-to another patch, it makes it impossible to use b4 to pick up the first patch. And please don't send two patches which clearly will conflict with each other. Now I had to manually apply the first patch... Regards, Bjorn > --- > drivers/remoteproc/qcom_common.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/remoteproc/qcom_common.c b/drivers/remoteproc/qcom_common.c > index 020349f..7810f91 100644 > --- a/drivers/remoteproc/qcom_common.c > +++ b/drivers/remoteproc/qcom_common.c > @@ -124,7 +124,7 @@ static int qcom_add_minidump_segments(struct rproc *rproc, struct minidump_subsy > for (i = 0; i < seg_cnt; i++) { > memcpy_fromio(®ion, ptr + i, sizeof(region)); > if (region.valid == MD_REGION_VALID) { > - name = kstrdup(region.name, GFP_KERNEL); > + name = kstrndup(region.name, MAX_REGION_NAME_LENGTH - 1, GFP_KERNEL); > if (!name) { > iounmap(ptr); > return -ENOMEM; > -- > 2.7.4 >
On 2/14/2023 10:09 PM, Bjorn Andersson wrote: > On Tue, Feb 14, 2023 at 07:38:11PM +0530, Mukesh Ojha wrote: >> Since, there is no guarantee that region.name will be 0-terminated >> from the firmware side, replace kstrdup with kstrndup. >> >> Suggested-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> >> Signed-off-by: Mukesh Ojha <quic_mojha@quicinc.com> > > Please don't send additional patches in-reply-to another patch, it makes > it impossible to use b4 to pick up the first patch. > > And please don't send two patches which clearly will conflict with > each other. Now I had to manually apply the first patch... > Really sorry, for the inconvenience. will keep in mind. Thanks, -Mukesh > Regards, > Bjorn > >> --- >> drivers/remoteproc/qcom_common.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/drivers/remoteproc/qcom_common.c b/drivers/remoteproc/qcom_common.c >> index 020349f..7810f91 100644 >> --- a/drivers/remoteproc/qcom_common.c >> +++ b/drivers/remoteproc/qcom_common.c >> @@ -124,7 +124,7 @@ static int qcom_add_minidump_segments(struct rproc *rproc, struct minidump_subsy >> for (i = 0; i < seg_cnt; i++) { >> memcpy_fromio(®ion, ptr + i, sizeof(region)); >> if (region.valid == MD_REGION_VALID) { >> - name = kstrdup(region.name, GFP_KERNEL); >> + name = kstrndup(region.name, MAX_REGION_NAME_LENGTH - 1, GFP_KERNEL); >> if (!name) { >> iounmap(ptr); >> return -ENOMEM; >> -- >> 2.7.4 >>
© 2016 - 2025 Red Hat, Inc.