Message ID | 20200529201731.545859-1-arnd@arndb.de (mailing list archive) |
---|---|
State | New, archived |
Delegated to: | viresh kumar |
Headers | show |
Series | opp: avoid uninitialized-variable use | expand |
On 29-05-20, 22:17, Arnd Bergmann wrote: > An uninitialized pointer is passed into another function but > ignored there: > > drivers/opp/core.c:875:32: error: variable 'opp' is uninitialized when used here [-Werror,-Wuninitialized] > ret = _set_opp_bw(opp_table, opp, dev, true); > ^~~ > drivers/opp/core.c:849:34: note: initialize the variable 'opp' to silence this warning > struct dev_pm_opp *old_opp, *opp; > ^ > > gcc no longer warns about this, but it seems it really should, > so change the code to just pass a NULL pointer here. > > See-also: 78a5255ffb6a ("Stop the ad-hoc games with -Wno-maybe-initialized") > Fixes: c57afacc9270 ("opp: Remove bandwidth votes when target_freq is zero") > Signed-off-by: Arnd Bergmann <arnd@arndb.de> > --- > drivers/opp/core.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/opp/core.c b/drivers/opp/core.c > index df12c3804533..7302f2631f8d 100644 > --- a/drivers/opp/core.c > +++ b/drivers/opp/core.c > @@ -872,7 +872,7 @@ int dev_pm_opp_set_rate(struct device *dev, unsigned long target_freq) > goto put_opp_table; > } > > - ret = _set_opp_bw(opp_table, opp, dev, true); > + ret = _set_opp_bw(opp_table, NULL, dev, true); > if (ret) > return ret; > Not sure why people are still seeing this, I pushed a fix for this 2 days back.
On Sat, May 30, 2020 at 11:21 AM Viresh Kumar <viresh.kumar@linaro.org> wrote: > On 29-05-20, 22:17, Arnd Bergmann wrote: > > An uninitialized pointer is passed into another function but > > --- a/drivers/opp/core.c > > +++ b/drivers/opp/core.c > > @@ -872,7 +872,7 @@ int dev_pm_opp_set_rate(struct device *dev, unsigned long target_freq) > > goto put_opp_table; > > } > > > > - ret = _set_opp_bw(opp_table, opp, dev, true); > > + ret = _set_opp_bw(opp_table, NULL, dev, true); > > if (ret) > > return ret; > > > > Not sure why people are still seeing this, I pushed a fix for this 2 > days back. I was on next-20200528, which was the first version that was broken for me, and I sent all my fixes after I had tested them. Since a lot of things got broken at once that day, it took me until the end of 20200529 to get it all tested properly and then send them out. Arnd
On 30-05-20, 14:40, Arnd Bergmann wrote: > On Sat, May 30, 2020 at 11:21 AM Viresh Kumar <viresh.kumar@linaro.org> wrote: > > On 29-05-20, 22:17, Arnd Bergmann wrote: > > > An uninitialized pointer is passed into another function but > > > --- a/drivers/opp/core.c > > > +++ b/drivers/opp/core.c > > > @@ -872,7 +872,7 @@ int dev_pm_opp_set_rate(struct device *dev, unsigned long target_freq) > > > goto put_opp_table; > > > } > > > > > > - ret = _set_opp_bw(opp_table, opp, dev, true); > > > + ret = _set_opp_bw(opp_table, NULL, dev, true); > > > if (ret) > > > return ret; > > > > > > > Not sure why people are still seeing this, I pushed a fix for this 2 > > days back. > > I was on next-20200528, which was the first version that was broken for me, > and I sent all my fixes after I had tested them. Since a lot of things > got broken > at once that day, it took me until the end of 20200529 to get it all tested > properly and then send them out. Okay, I asked as around 3-4 people have already sent out this patch to me :)
diff --git a/drivers/opp/core.c b/drivers/opp/core.c index df12c3804533..7302f2631f8d 100644 --- a/drivers/opp/core.c +++ b/drivers/opp/core.c @@ -872,7 +872,7 @@ int dev_pm_opp_set_rate(struct device *dev, unsigned long target_freq) goto put_opp_table; } - ret = _set_opp_bw(opp_table, opp, dev, true); + ret = _set_opp_bw(opp_table, NULL, dev, true); if (ret) return ret;
An uninitialized pointer is passed into another function but ignored there: drivers/opp/core.c:875:32: error: variable 'opp' is uninitialized when used here [-Werror,-Wuninitialized] ret = _set_opp_bw(opp_table, opp, dev, true); ^~~ drivers/opp/core.c:849:34: note: initialize the variable 'opp' to silence this warning struct dev_pm_opp *old_opp, *opp; ^ gcc no longer warns about this, but it seems it really should, so change the code to just pass a NULL pointer here. See-also: 78a5255ffb6a ("Stop the ad-hoc games with -Wno-maybe-initialized") Fixes: c57afacc9270 ("opp: Remove bandwidth votes when target_freq is zero") Signed-off-by: Arnd Bergmann <arnd@arndb.de> --- drivers/opp/core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)