]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commitdiff
ext4: silence an uninitialized variable warning
authorDan Carpenter <dan.carpenter@oracle.com>
Fri, 30 Oct 2020 11:46:20 +0000 (14:46 +0300)
committerTheodore Ts'o <tytso@mit.edu>
Sat, 7 Nov 2020 03:52:36 +0000 (22:52 -0500)
Smatch complains that "i" can be uninitialized if we don't enter the
loop.  I don't know if it's possible but we may as well silence this
warning.

[ Initialize i to sb->s_blocksize instead of 0.  The only way the for
  loop could be skipped entirely is the in-memory data structures, in
  particular the bh->b_data for the on-disk superblock has gotten
  corrupted enough that calculated value of group is >= to
  ext4_get_groups_count(sb).  In that case, we want to exit
  immediately without allocating a block.  -- TYT ]

Fixes: 8016e29f4362 ("ext4: fast commit recovery path")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Link: https://lore.kernel.org/r/20201030114620.GB3251003@mwanda
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Cc: stable@kernel.org
fs/ext4/mballoc.c

index 85abbfb98cbef7aec45d0fd18e8beb76084b661f..f067e83f149e2853ee01f99af1df5c5167f3e1f4 100644 (file)
@@ -5167,7 +5167,7 @@ static ext4_fsblk_t ext4_mb_new_blocks_simple(handle_t *handle,
        struct super_block *sb = ar->inode->i_sb;
        ext4_group_t group;
        ext4_grpblk_t blkoff;
-       int  i;
+       int i = sb->s_blocksize;
        ext4_fsblk_t goal, block;
        struct ext4_super_block *es = EXT4_SB(sb)->s_es;