Re: [PATCH] btrfs: fix uninitialized variable warning

From: genjian zhang
Date: Fri Mar 24 2023 - 01:48:34 EST


On Fri, Mar 24, 2023 at 12:24 PM Qu Wenruo <wqu@xxxxxxxx> wrote:
>
>
>
> On 2023/3/24 11:05, genjian zhang wrote:
> > On Fri, Mar 24, 2023 at 10:35 AM David Sterba <dsterba@xxxxxxx> wrote:
> >>
> >> On Fri, Mar 24, 2023 at 10:24:55AM +0800, Qu Wenruo wrote:
> >>> On 2023/3/24 10:08, Genjian wrote:
> >>>> From: Genjian Zhang <zhanggenjian@xxxxxxxxxx>
> >>>>
> >>>> compiler warning:
> >>>
> >>> Compiler version please.
> >>>
> >>>>
> >>>> ../fs/btrfs/volumes.c: In function ‘btrfs_init_new_device’:
> >>>> ../fs/btrfs/volumes.c:2703:3: error: ‘seed_devices’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
> >>>> 2703 | btrfs_setup_sprout(fs_info, seed_devices);
> >>>> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >>>>
> >>>> ../fs/btrfs/send.c: In function ‘get_cur_inode_state’:
> >>>> ../include/linux/compiler.h:70:32: error: ‘right_gen’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
> >>>> 70 | (__if_trace.miss_hit[1]++,1) : \
> >>>> | ^
> >>>> ../fs/btrfs/send.c:1878:6: note: ‘right_gen’ was declared here
> >>>> 1878 | u64 right_gen;
> >>>> | ^~~~~~~~~
> >>>>
> >>>> Initialize the uninitialized variables.
> >>>>
> >>>> Reported-by: k2ci <kernel-bot@xxxxxxxxxx>
> >>>> Signed-off-by: Genjian Zhang <zhanggenjian@xxxxxxxxxx>
> >>>> ---
> >>>> fs/btrfs/send.c | 2 +-
> >>>> fs/btrfs/volumes.c | 2 +-
> >>>> 2 files changed, 2 insertions(+), 2 deletions(-)
> >>>>
> >>>> diff --git a/fs/btrfs/send.c b/fs/btrfs/send.c
> >>>> index e5c963bb873d..af2e153543a5 100644
> >>>> --- a/fs/btrfs/send.c
> >>>> +++ b/fs/btrfs/send.c
> >>>> @@ -1875,7 +1875,7 @@ static int get_cur_inode_state(struct send_ctx *sctx, u64 ino, u64 gen,
> >>>> int left_ret;
> >>>> int right_ret;
> >>>> u64 left_gen;
> >>>> - u64 right_gen;
> >>>> + u64 right_gen = 0;
> >>>
> >>> IIRC this is not my first time explaining why this is a false alert.
> >>>
> >>> Thus please report your compiler version first.
> >>
> >> This is probably because of the -Wmaybe-uninitialized we enabled, on
> >> some combination of architecture and compiler. While I'm also interested
> >> in the compiler and version we need to fix the warnings before 6.3 final.
> >> We'd be gettting the warnings and reports/patches, which is wasting
> >> peoples' time, it's not a big deal to initialize the variables. But
> >> still I also want to know which version reports that.
> >
> > aarch64-linux-gnu-gcc (Debian 10.2.1-6) 10.2.1 20210110 and
> > aarch64-linux-gnu-gcc (7.3.0-20190804.h30.ky10.aarch64 )
>
> Latest GCC 10.x is already 10.3, and 7.x is already 7.5.
>
> Either report to your distro and let them update the toolchain, or find
> a way to make your bot shut up on the false alert.
>
> >
> > Thanks,
> >
> > Genjian.

OK, thank you for your suggestion and reply.