On Wed, 22 Oct 2014, Jan Kara wrote: > Date: Wed, 22 Oct 2014 16:29:08 +0200 > From: Jan Kara <jack@xxxxxxx> > To: Ted Tso <tytso@xxxxxxx> > Cc: linux-ext4@xxxxxxxxxxxxxxx, Jan Kara <jack@xxxxxxx>, > stable@xxxxxxxxxxxxxxx > Subject: [PATCH] ext4: Fix overflow when updating superblock backups after > resize > > When there are no meta block groups update_backups() will compute the > backup block in 32-bit arithmetics thus possibly overflowing the block > number and corrupting the filesystem. OTOH filesystems without meta > block groups larger than 16 TB should be rare. Fix the problem by doing > the counting in 64-bit arithmetics. Looks good, thanks. Reviewed-by: Lukas Czerner <lczerner@xxxxxxxxxx> > > Coverity-id: 741252 > CC: stable@xxxxxxxxxxxxxxx > Signed-off-by: Jan Kara <jack@xxxxxxx> > --- > fs/ext4/resize.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/fs/ext4/resize.c b/fs/ext4/resize.c > index f298c60f907d..ca4588388fc3 100644 > --- a/fs/ext4/resize.c > +++ b/fs/ext4/resize.c > @@ -1081,7 +1081,7 @@ static void update_backups(struct super_block *sb, int blk_off, char *data, > break; > > if (meta_bg == 0) > - backup_block = group * bpg + blk_off; > + backup_block = ((ext4_fsblk_t)group) * bpg + blk_off; > else > backup_block = (ext4_group_first_block_no(sb, group) + > ext4_bg_has_super(sb, group)); > -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html