2019-11-13 01:36:59

by Tony Lu

[permalink] [raw]
Subject: 'current_state' is uninitialized in rbd_object_map_update_finish()

Hello,

There is a warning during compiling driver rbd for uninitialized
'current state' in rbd_object_map_update_finish():

drivers/block/rbd.c: In function 'rbd_object_map_callback':
drivers/block/rbd.c:2122:21: warning: ??current_state?? may be used uninitialized in this function [-Wmaybe-uninitialized]
(current_state == OBJECT_EXISTS && state == OBJECT_EXISTS_CLEAN))

drivers/block/rbd.c:2090:23: note: ??current_state?? was declared here
u8 state, new_state, current_state;
^~~~~~~~~~~~~

Cheers.
Tony Lu


2019-11-13 11:23:56

by Ilya Dryomov

[permalink] [raw]
Subject: Re: 'current_state' is uninitialized in rbd_object_map_update_finish()

On Wed, Nov 13, 2019 at 2:35 AM Tony Lu <[email protected]> wrote:
>
> Hello,
>
> There is a warning during compiling driver rbd for uninitialized
> 'current state' in rbd_object_map_update_finish():
>
> drivers/block/rbd.c: In function 'rbd_object_map_callback':
> drivers/block/rbd.c:2122:21: warning: ‘current_state’ may be used uninitialized in this function [-Wmaybe-uninitialized]
> (current_state == OBJECT_EXISTS && state == OBJECT_EXISTS_CLEAN))
>
> drivers/block/rbd.c:2090:23: note: ‘current_state’ was declared here
> u8 state, new_state, current_state;
> ^~~~~~~~~~~~~

Hi Tony,

It looks like this warning was also reported by kbuild, on gcc 6.3 and
7.4. It's bogus, I'll send a patch to silence it.

Thanks,

Ilya