On Wed, 2019-03-06 at 15:47 -0800, Linus Torvalds wrote: > On Wed, Mar 6, 2019 at 2:33 AM Greg KH <gre...@linuxfoundation.org> wrote: > > Joe Perches (1): > > device.h: Add __cold to dev_<level> logging functions > > This is very funky, but that commit generates a new warning in a > totally unrelated area:
Very very funky. Are you sure it's the __cold marking of an entirely unrelated function that isn't even used in the code with the new warning? btw; what compiler version? > drivers/iio/adc/qcom-pm8xxx-xoadc.c: In function ‘pm8xxx_xoadc_probe’: > drivers/iio/adc/qcom-pm8xxx-xoadc.c:633:8: warning: ‘ch’ may be used > uninitialized in this function [-Wmaybe-uninitialized] > ret = pm8xxx_read_channel_rsv(adc, ch, AMUX_RSV4, > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > &read_nomux_rsv4, true); > ~~~~~~~~~~~~~~~~~~~~~~~ > drivers/iio/adc/qcom-pm8xxx-xoadc.c:426:27: note: ‘ch’ was declared here > struct pm8xxx_chan_info *ch; > ^~ > > and it all looks entirely insane if you look at that line 633 where > the ostensibly uninitialized variable is (it clearly _is_ initialized > there), but if you then look at that line 426 you notice that it > actually makes some kind of sense. The value comes from another > function that was apparently inlined, and that other function does not > "obviously" initialize it. > > I wonder why this wasn't seen in linux-next? Yes, the connection is > odd, and maybe it's very compiler version dependent, but I do hope > people react to new warnings. The kernel is entirely warning-free for > me for an x86-64 allmodconfig build, and I want to keep it that way. > > And _because_ I want to keep it that way (one of the things I do > during the merge window is look for oddities coming in during pulls, > and new warnings is a big deal for me), I applied the attached patch. > Just FYI. > > Linus