]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
btrfs: fix Wmaybe-uninitialized warning in replay_one_buffer()
authorQiang Ma <maqianga@uniontech.com>
Thu, 18 Dec 2025 08:16:18 +0000 (16:16 +0800)
committerDavid Sterba <dsterba@suse.com>
Tue, 20 Jan 2026 00:41:47 +0000 (01:41 +0100)
Warning was found when compiling using loongarch64-gcc 12.3.1:

  $ make CFLAGS_tree-log.o=-Wmaybe-uninitialized

  In file included from fs/btrfs/ctree.h:21,
   from fs/btrfs/tree-log.c:12:
  fs/btrfs/accessors.h: In function 'replay_one_buffer':
  fs/btrfs/accessors.h:66:16: warning: 'inode_item' may be used uninitialized [-Wmaybe-uninitialized]
     66 |         return btrfs_get_##bits(eb, s, offsetof(type, member));         \
|                ^~~~~~~~~~
  fs/btrfs/tree-log.c:2803:42: note: 'inode_item' declared here
   2803 |                 struct btrfs_inode_item *inode_item;
|                                          ^~~~~~~~~~

Initialize the inode_item to NULL, the compiler does not seem to see the
relation between the first 'wc->log_key.type == BTRFS_INODE_ITEM_KEY'
check and the other one that also checks the replay phase.

Signed-off-by: Qiang Ma <maqianga@uniontech.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/tree-log.c

index 2d9d38b82daa2a64a2f03a82d75cf97bb24d2690..6cffcf0c3e7af970e29c50275c72a96a242e5894 100644 (file)
@@ -2798,7 +2798,7 @@ static int replay_one_buffer(struct extent_buffer *eb,
 
        nritems = btrfs_header_nritems(eb);
        for (wc->log_slot = 0; wc->log_slot < nritems; wc->log_slot++) {
-               struct btrfs_inode_item *inode_item;
+               struct btrfs_inode_item *inode_item = NULL;
 
                btrfs_item_key_to_cpu(eb, &wc->log_key, wc->log_slot);