2018-11-29 16:40:49

by Stephen Boyd

[permalink] [raw]
Subject: [PATCH] drm: msm: Check cmd_db_read_aux_data() for failure

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



2018-11-29 22:38:48

by Andy Gross

[permalink] [raw]
Subject: Re: [PATCH] drm: msm: Check cmd_db_read_aux_data() for failure

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

2018-11-29 22:45:17

by Andy Gross

[permalink] [raw]
Subject: Re: [PATCH] drm: msm: Check cmd_db_read_aux_data() for failure

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]>

2018-11-29 23:25:51

by Rob Clark

[permalink] [raw]
Subject: Re: [PATCH] drm: msm: Check cmd_db_read_aux_data() for failure

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

2018-11-30 02:12:57

by Stephen Rothwell

[permalink] [raw]
Subject: Re: [PATCH] drm: msm: Check cmd_db_read_aux_data() for failure

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


Attachments:
(No filename) (499.00 B)
OpenPGP digital signature

2018-11-30 02:36:51

by Andy Gross

[permalink] [raw]
Subject: Re: [PATCH] drm: msm: Check cmd_db_read_aux_data() for failure

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