Re: [PATCH] misc: ioc4: fix variable may be used uninitialized warning

From: Arnd Bergmann
Date: Mon Dec 08 2014 - 07:43:03 EST


On Monday 08 December 2014 13:27:20 Richard Leitner wrote:
> Fix the following build warning:
> drivers/misc/ioc4.c: In function âioc4_probeâ:
> drivers/misc/ioc4.c:194:16: warning: âstartâ may be used uninitialized
> in this function [-Wmaybe-uninitialized]
> period = (end - start) /
> ^
> drivers/misc/ioc4.c:148:11: note: âstartâ was declared here
> uint64_t start, end, period;
> ^
>
> As far as I can tell 'start' cannot really be used uninitialized
> here, but for the sanity of gcc output explicitly initialize it.
> Same goes for the 'end' variable.
>
> Signed-off-by: Richard Leitner <dev@xxxxxxxxxx>

Prabhakar Lad also sent a patch for this already, which was lacking
a good patch description. Your patch does this slightly better but
still fails to explain how you concluded it was safe and you don't
really explain why you initialize the 'end' variable that we don't
even get a warning about.

Arnd

> ---
> Used gcc version was 4.9.1 (Debian 4.9.1-19)
> P.S.: I know I'm too late for 3.18 but hopefully it still helps.
> ---
> drivers/misc/ioc4.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/misc/ioc4.c b/drivers/misc/ioc4.c
> index 3336ddc..7ec2733 100644
> --- a/drivers/misc/ioc4.c
> +++ b/drivers/misc/ioc4.c
> @@ -145,7 +145,7 @@ ioc4_clock_calibrate(struct ioc4_driver_data *idd)
> union ioc4_int_out int_out;
> union ioc4_gpcr gpcr;
> unsigned int state, last_state = 1;
> - uint64_t start, end, period;
> + uint64_t start = 0, end = 0, period;
> unsigned int count = 0;
>
> /* Enable output */
>

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/