We need to check the call to cmd_db_read_aux_data() for the error case,
so that we don't continue and use potentially uninitialized values for
'pri_count' and 'sec_count'. Otherwise, we get the following compiler
warnings:
drivers/gpu/drm/msm/adreno/a6xx_gmu.c: In function 'a6xx_gmu_rpmh_arc_votes_init.isra.12':
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:943:12: warning: 'pri_count' is used uninitialized in this function [-Wuninitialized]
pri_count >>= 1;
^~~
drivers/gpu/drm/msm/adreno/a6xx_gmu.c:948:12: warning: 'sec_count' may be used uninitialized in this function
[-Wmaybe-uninitialized]
sec_count >>= 1;
^~~
Reported-by: Stephen Rothwell <[email protected]>
Reported-by: kbuild test robot <[email protected]>
Cc: Jordan Crouse <[email protected]>
Cc: Bjorn Andersson <[email protected]>
Cc: Evan Green <[email protected]>
Cc: Jordan Crouse <[email protected]>
Cc: Rob Clark <[email protected]>
Fixes: ed3cafa79ea7 ("soc: qcom: cmd-db: Stop memcpy()ing in cmd_db_read_aux_data()")
Signed-off-by: Stephen Boyd <[email protected]>
---
drivers/gpu/drm/msm/adreno/a6xx_gmu.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gmu.c b/drivers/gpu/drm/msm/adreno/a6xx_gmu.c
index 8cd294e2846d..b450f7ea0422 100644
--- a/drivers/gpu/drm/msm/adreno/a6xx_gmu.c
+++ b/drivers/gpu/drm/msm/adreno/a6xx_gmu.c
@@ -936,6 +936,8 @@ static int a6xx_gmu_rpmh_arc_votes_init(struct device *dev, u32 *votes,
size_t pri_count, sec_count;
pri = cmd_db_read_aux_data(id, &pri_count);
+ if (IS_ERR(pri))
+ return PTR_ERR(pri);
/*
* The data comes back as an array of unsigned shorts so adjust the
* count accordingly
@@ -945,6 +947,9 @@ static int a6xx_gmu_rpmh_arc_votes_init(struct device *dev, u32 *votes,
return -EINVAL;
sec = cmd_db_read_aux_data("mx.lvl", &sec_count);
+ if (IS_ERR(sec))
+ return PTR_ERR(sec);
+
sec_count >>= 1;
if (!sec_count)
return -EINVAL;
--
Sent by a computer through tubes
On Thu, Nov 29, 2018 at 08:38:26AM -0800, Stephen Boyd wrote:
> We need to check the call to cmd_db_read_aux_data() for the error case,
> so that we don't continue and use potentially uninitialized values for
> 'pri_count' and 'sec_count'. Otherwise, we get the following compiler
> warnings:
>
> drivers/gpu/drm/msm/adreno/a6xx_gmu.c: In function 'a6xx_gmu_rpmh_arc_votes_init.isra.12':
> drivers/gpu/drm/msm/adreno/a6xx_gmu.c:943:12: warning: 'pri_count' is used uninitialized in this function [-Wuninitialized]
> pri_count >>= 1;
> ^~~
> drivers/gpu/drm/msm/adreno/a6xx_gmu.c:948:12: warning: 'sec_count' may be used uninitialized in this function
> [-Wmaybe-uninitialized]
> sec_count >>= 1;
> ^~~
>
> Reported-by: Stephen Rothwell <[email protected]>
> Reported-by: kbuild test robot <[email protected]>
> Cc: Jordan Crouse <[email protected]>
> Cc: Bjorn Andersson <[email protected]>
> Cc: Evan Green <[email protected]>
> Cc: Jordan Crouse <[email protected]>
> Cc: Rob Clark <[email protected]>
> Fixes: ed3cafa79ea7 ("soc: qcom: cmd-db: Stop memcpy()ing in cmd_db_read_aux_data()")
> Signed-off-by: Stephen Boyd <[email protected]>
Thanks for the patch. Queueing this up.
Andy
On Thu, Nov 29, 2018 at 04:36:00PM -0600, Andy Gross wrote:
> On Thu, Nov 29, 2018 at 08:38:26AM -0800, Stephen Boyd wrote:
> > We need to check the call to cmd_db_read_aux_data() for the error case,
> > so that we don't continue and use potentially uninitialized values for
> > 'pri_count' and 'sec_count'. Otherwise, we get the following compiler
> > warnings:
> >
> > drivers/gpu/drm/msm/adreno/a6xx_gmu.c: In function 'a6xx_gmu_rpmh_arc_votes_init.isra.12':
> > drivers/gpu/drm/msm/adreno/a6xx_gmu.c:943:12: warning: 'pri_count' is used uninitialized in this function [-Wuninitialized]
> > pri_count >>= 1;
> > ^~~
> > drivers/gpu/drm/msm/adreno/a6xx_gmu.c:948:12: warning: 'sec_count' may be used uninitialized in this function
> > [-Wmaybe-uninitialized]
> > sec_count >>= 1;
> > ^~~
> >
> > Reported-by: Stephen Rothwell <[email protected]>
> > Reported-by: kbuild test robot <[email protected]>
> > Cc: Jordan Crouse <[email protected]>
> > Cc: Bjorn Andersson <[email protected]>
> > Cc: Evan Green <[email protected]>
> > Cc: Jordan Crouse <[email protected]>
> > Cc: Rob Clark <[email protected]>
> > Fixes: ed3cafa79ea7 ("soc: qcom: cmd-db: Stop memcpy()ing in cmd_db_read_aux_data()")
> > Signed-off-by: Stephen Boyd <[email protected]>
On second thought, this needs to go through drm tree.
Reviewed-by: Andy Gross <[email protected]>
On Thu, Nov 29, 2018 at 5:36 PM Andy Gross <[email protected]> wrote:
>
> On Thu, Nov 29, 2018 at 08:38:26AM -0800, Stephen Boyd wrote:
> > We need to check the call to cmd_db_read_aux_data() for the error case,
> > so that we don't continue and use potentially uninitialized values for
> > 'pri_count' and 'sec_count'. Otherwise, we get the following compiler
> > warnings:
> >
> > drivers/gpu/drm/msm/adreno/a6xx_gmu.c: In function 'a6xx_gmu_rpmh_arc_votes_init.isra.12':
> > drivers/gpu/drm/msm/adreno/a6xx_gmu.c:943:12: warning: 'pri_count' is used uninitialized in this function [-Wuninitialized]
> > pri_count >>= 1;
> > ^~~
> > drivers/gpu/drm/msm/adreno/a6xx_gmu.c:948:12: warning: 'sec_count' may be used uninitialized in this function
> > [-Wmaybe-uninitialized]
> > sec_count >>= 1;
> > ^~~
> >
> > Reported-by: Stephen Rothwell <[email protected]>
> > Reported-by: kbuild test robot <[email protected]>
> > Cc: Jordan Crouse <[email protected]>
> > Cc: Bjorn Andersson <[email protected]>
> > Cc: Evan Green <[email protected]>
> > Cc: Jordan Crouse <[email protected]>
> > Cc: Rob Clark <[email protected]>
> > Fixes: ed3cafa79ea7 ("soc: qcom: cmd-db: Stop memcpy()ing in cmd_db_read_aux_data()")
> > Signed-off-by: Stephen Boyd <[email protected]>
>
> Thanks for the patch. Queueing this up.
>
from talking to agross on IRC, seems like this becomes an issue w/
other patches he has queued up for 4.21, and I don't think this should
conflict w/ other stuff I have, so
Acked-by: Rob Clark <[email protected]>
for Andy picking up this one
BR,
-R
>
> Andy
Hi Andy,
On Thu, 29 Nov 2018 16:42:34 -0600 Andy Gross <[email protected]> wrote:
>
> On Thu, Nov 29, 2018 at 04:36:00PM -0600, Andy Gross wrote:
> > On Thu, Nov 29, 2018 at 08:38:26AM -0800, Stephen Boyd wrote:
> > > We need to check the call to cmd_db_read_aux_data() for the error case,
> > > so that we don't continue and use potentially uninitialized values for
> > > 'pri_count' and 'sec_count'. Otherwise, we get the following compiler
> > > warnings:
> > >
> > > drivers/gpu/drm/msm/adreno/a6xx_gmu.c: In function 'a6xx_gmu_rpmh_arc_votes_init.isra.12':
> > > drivers/gpu/drm/msm/adreno/a6xx_gmu.c:943:12: warning: 'pri_count' is used uninitialized in this function [-Wuninitialized]
> > > pri_count >>= 1;
> > > ^~~
> > > drivers/gpu/drm/msm/adreno/a6xx_gmu.c:948:12: warning: 'sec_count' may be used uninitialized in this function
> > > [-Wmaybe-uninitialized]
> > > sec_count >>= 1;
> > > ^~~
> > >
> > > Reported-by: Stephen Rothwell <[email protected]>
> > > Reported-by: kbuild test robot <[email protected]>
> > > Cc: Jordan Crouse <[email protected]>
> > > Cc: Bjorn Andersson <[email protected]>
> > > Cc: Evan Green <[email protected]>
> > > Cc: Jordan Crouse <[email protected]>
> > > Cc: Rob Clark <[email protected]>
> > > Fixes: ed3cafa79ea7 ("soc: qcom: cmd-db: Stop memcpy()ing in cmd_db_read_aux_data()")
> > > Signed-off-by: Stephen Boyd <[email protected]>
>
> On second thought, this needs to go through drm tree.
Why? The commit that introduces the warnings is only in the qcom
tree ...
--
Cheers,
Stephen Rothwell
On Fri, Nov 30, 2018 at 01:12:01PM +1100, Stephen Rothwell wrote:
> Hi Andy,
>
> On Thu, 29 Nov 2018 16:42:34 -0600 Andy Gross <[email protected]> wrote:
> >
> > On Thu, Nov 29, 2018 at 04:36:00PM -0600, Andy Gross wrote:
> > > On Thu, Nov 29, 2018 at 08:38:26AM -0800, Stephen Boyd wrote:
> > > > We need to check the call to cmd_db_read_aux_data() for the error case,
> > > > so that we don't continue and use potentially uninitialized values for
> > > > 'pri_count' and 'sec_count'. Otherwise, we get the following compiler
> > > > warnings:
> > > >
> > > > drivers/gpu/drm/msm/adreno/a6xx_gmu.c: In function 'a6xx_gmu_rpmh_arc_votes_init.isra.12':
> > > > drivers/gpu/drm/msm/adreno/a6xx_gmu.c:943:12: warning: 'pri_count' is used uninitialized in this function [-Wuninitialized]
> > > > pri_count >>= 1;
> > > > ^~~
> > > > drivers/gpu/drm/msm/adreno/a6xx_gmu.c:948:12: warning: 'sec_count' may be used uninitialized in this function
> > > > [-Wmaybe-uninitialized]
> > > > sec_count >>= 1;
> > > > ^~~
> > > >
> > > > Reported-by: Stephen Rothwell <[email protected]>
> > > > Reported-by: kbuild test robot <[email protected]>
> > > > Cc: Jordan Crouse <[email protected]>
> > > > Cc: Bjorn Andersson <[email protected]>
> > > > Cc: Evan Green <[email protected]>
> > > > Cc: Jordan Crouse <[email protected]>
> > > > Cc: Rob Clark <[email protected]>
> > > > Fixes: ed3cafa79ea7 ("soc: qcom: cmd-db: Stop memcpy()ing in cmd_db_read_aux_data()")
> > > > Signed-off-by: Stephen Boyd <[email protected]>
> >
> > On second thought, this needs to go through drm tree.
>
> Why? The commit that introduces the warnings is only in the qcom
Sorry, I wasn't thinking it through earlier. Yes, due to the two patches in our
tree changing the API, this needs to go through my tree. I asked Rob to ack
it so I could take it in. He did that and now it's been added to my pull and
also pushed to -next.
Sorry for the confusion on my part.
Andy