gcc-9 complains about a blatant uninitialized variable use that
all earlier compiler versions missed:
drivers/iio/adc/rcar-gyroadc.c:510:5: warning: 'ret' may be used uninitialized in this function [-Wmaybe-uninitialized]
Return -EINVAL instead here.
Cc: [email protected]
Fixes: 059c53b32329 ("iio: adc: Add Renesas GyroADC driver")
Signed-off-by: Arnd Bergmann <[email protected]>
---
drivers/iio/adc/rcar-gyroadc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/iio/adc/rcar-gyroadc.c b/drivers/iio/adc/rcar-gyroadc.c
index 2d685730f867..aec73cc43e23 100644
--- a/drivers/iio/adc/rcar-gyroadc.c
+++ b/drivers/iio/adc/rcar-gyroadc.c
@@ -391,7 +391,7 @@ static int rcar_gyroadc_parse_subdevs(struct iio_dev *indio_dev)
dev_err(dev,
"Channel %i uses different ADC mode than the rest.\n",
reg);
- return ret;
+ return -EINVAL;
}
/* Channel is valid, grab the regulator. */
--
2.20.0
Hi Arnd,
On Thu, Jul 4, 2019 at 1:38 PM Arnd Bergmann <[email protected]> wrote:
> gcc-9 complains about a blatant uninitialized variable use that
> all earlier compiler versions missed:
>
> drivers/iio/adc/rcar-gyroadc.c:510:5: warning: 'ret' may be used uninitialized in this function [-Wmaybe-uninitialized]
Actually gcc-4.1 warned about that one too ;-)
So either I must have missed that warning when it appeared first,
or I must have concluded wrongly that it was a false positive.
Sorry for that...
> Return -EINVAL instead here.
>
> Cc: [email protected]
> Fixes: 059c53b32329 ("iio: adc: Add Renesas GyroADC driver")
> Signed-off-by: Arnd Bergmann <[email protected]>
Reviewed-by: Geert Uytterhoeven <[email protected]>
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
On Thu, Jul 04, 2019 at 01:37:47PM +0200, Arnd Bergmann wrote:
> gcc-9 complains about a blatant uninitialized variable use that
> all earlier compiler versions missed:
>
> drivers/iio/adc/rcar-gyroadc.c:510:5: warning: 'ret' may be used uninitialized in this function [-Wmaybe-uninitialized]
>
> Return -EINVAL instead here.
>
> Cc: [email protected]
> Fixes: 059c53b32329 ("iio: adc: Add Renesas GyroADC driver")
> Signed-off-by: Arnd Bergmann <[email protected]>
This is correct but missing that the above 'return ret' is broken, too.
ret is initialized but 0 in that case.
And maybe we can use something else than -EINVAL for this case? I am on
the go right now, I will look for a suggestion later.
Hi Wolfram,
On Thu, Jul 4, 2019 at 2:08 PM Wolfram Sang <[email protected]> wrote:
> On Thu, Jul 04, 2019 at 01:37:47PM +0200, Arnd Bergmann wrote:
> > gcc-9 complains about a blatant uninitialized variable use that
> > all earlier compiler versions missed:
> >
> > drivers/iio/adc/rcar-gyroadc.c:510:5: warning: 'ret' may be used uninitialized in this function [-Wmaybe-uninitialized]
> >
> > Return -EINVAL instead here.
> >
> > Cc: [email protected]
> > Fixes: 059c53b32329 ("iio: adc: Add Renesas GyroADC driver")
> > Signed-off-by: Arnd Bergmann <[email protected]>
>
> This is correct but missing that the above 'return ret' is broken, too.
> ret is initialized but 0 in that case.
Nice catch! Oh well, given enough eyeballs, ...
> And maybe we can use something else than -EINVAL for this case? I am on
> the go right now, I will look for a suggestion later.
-EINVAL is correct here (and in the above case, too), IMHO.
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
On 7/4/19 2:10 PM, Geert Uytterhoeven wrote:
> Hi Wolfram,
>
> On Thu, Jul 4, 2019 at 2:08 PM Wolfram Sang <[email protected]> wrote:
>> On Thu, Jul 04, 2019 at 01:37:47PM +0200, Arnd Bergmann wrote:
>>> gcc-9 complains about a blatant uninitialized variable use that
>>> all earlier compiler versions missed:
>>>
>>> drivers/iio/adc/rcar-gyroadc.c:510:5: warning: 'ret' may be used uninitialized in this function [-Wmaybe-uninitialized]
>>>
>>> Return -EINVAL instead here.
>>>
>>> Cc: [email protected]
>>> Fixes: 059c53b32329 ("iio: adc: Add Renesas GyroADC driver")
>>> Signed-off-by: Arnd Bergmann <[email protected]>
>>
>> This is correct but missing that the above 'return ret' is broken, too.
>> ret is initialized but 0 in that case.
>
> Nice catch! Oh well, given enough eyeballs, ...
I don't think ret is initialized, reg is, not ret .
>> And maybe we can use something else than -EINVAL for this case? I am on
>> the go right now, I will look for a suggestion later.
>
> -EINVAL is correct here (and in the above case, too), IMHO.
Yep, -EINVAL is fine.
--
Best regards,
Marek Vasut
> >> This is correct but missing that the above 'return ret' is broken, too.
> >> ret is initialized but 0 in that case.
> >
> > Nice catch! Oh well, given enough eyeballs, ...
>
> I don't think ret is initialized, reg is, not ret .
It is initialized for the broken 'return ret' *above* the one which gets
rightfully fixed in this patch.
On Thu, 4 Jul 2019 21:55:58 +0200
Wolfram Sang <[email protected]> wrote:
> > >> This is correct but missing that the above 'return ret' is broken, too.
> > >> ret is initialized but 0 in that case.
> > >
> > > Nice catch! Oh well, given enough eyeballs, ...
> >
> > I don't think ret is initialized, reg is, not ret .
>
> It is initialized for the broken 'return ret' *above* the one which gets
> rightfully fixed in this patch.
>
Agreed, 2 broken cases and this is only fixing the second one.
I'm expecting a v2 of this patch which fixes them both, so
won't apply this v1.
Thanks,
Jonathan