]> git.dujemihanovic.xyz Git - linux.git/commit
btrfs: initialize location to fix -Wmaybe-uninitialized in btrfs_lookup_dentry()
authorDavid Sterba <dsterba@suse.com>
Mon, 29 Jul 2024 19:59:24 +0000 (21:59 +0200)
committerDavid Sterba <dsterba@suse.com>
Tue, 30 Jul 2024 13:33:06 +0000 (15:33 +0200)
commitb8e947e9f64cac9df85a07672b658df5b2bcff07
tree3ced7284c4ee5cd3ab531a502c9949e7f7a5d40b
parent939b656bc8ab203fdbde26ccac22bcb7f0985be5
btrfs: initialize location to fix -Wmaybe-uninitialized in btrfs_lookup_dentry()

Some arch + compiler combinations report a potentially unused variable
location in btrfs_lookup_dentry(). This is a false alert as the variable
is passed by value and always valid or there's an error. The compilers
cannot probably reason about that although btrfs_inode_by_name() is in
the same file.

   >  + /kisskb/src/fs/btrfs/inode.c: error: 'location.objectid' may be used
   +uninitialized in this function [-Werror=maybe-uninitialized]:  => 5603:9
   >  + /kisskb/src/fs/btrfs/inode.c: error: 'location.type' may be used
   +uninitialized in this function [-Werror=maybe-uninitialized]:  => 5674:5

   m68k-gcc8/m68k-allmodconfig
   mips-gcc8/mips-allmodconfig
   powerpc-gcc5/powerpc-all{mod,yes}config
   powerpc-gcc5/ppc64_defconfig

Initialize it to zero, this should fix the warnings and won't change the
behaviour as btrfs_inode_by_name() accepts only a root or inode item
types, otherwise returns an error.

Reported-by: Geert Uytterhoeven <geert@linux-m68k.org>
Tested-by: Geert Uytterhoeven <geert@linux-m68k.org>
Link: https://lore.kernel.org/linux-btrfs/bd4e9928-17b3-9257-8ba7-6b7f9bbb639a@linux-m68k.org/
Reviewed-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/inode.c