ext4: avoid kmemcheck complaint from reading uninitialized memory
authorTheodore Ts'o <tytso@mit.edu>
Mon, 6 Aug 2012 03:28:16 +0000 (23:28 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Mon, 6 Aug 2012 03:28:16 +0000 (23:28 -0400)
Commit 03179fe923 introduced a kmemcheck complaint in
ext4_da_get_block_prep() because we save and restore
ei->i_da_metadata_calc_last_lblock even though it is left
uninitialized in the case where i_da_metadata_calc_len is zero.

This doesn't hurt anything, but silencing the kmemcheck complaint
makes it easier for people to find real bugs.

Addresses https://bugzilla.kernel.org/show_bug.cgi?id=45631
(which is marked as a regression).

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Cc: stable@vger.kernel.org
fs/ext4/super.c

index ccc4bcad5616d60286b05693c1f4add753a117c6..56bcaec9149c4b9bc669ee5cdd924117f30fa761 100644 (file)
@@ -959,6 +959,7 @@ static struct inode *ext4_alloc_inode(struct super_block *sb)
        ei->i_reserved_meta_blocks = 0;
        ei->i_allocated_meta_blocks = 0;
        ei->i_da_metadata_calc_len = 0;
+       ei->i_da_metadata_calc_last_lblock = 0;
        spin_lock_init(&(ei->i_block_reservation_lock));
 #ifdef CONFIG_QUOTA
        ei->i_reserved_quota = 0;