On Wed, 22 Oct 2014, Jan Kara wrote: > Date: Wed, 22 Oct 2014 16:29:08 +0200 > From: Jan Kara <[email protected]> > To: Ted Tso <[email protected]> > Cc: [email protected], Jan Kara <[email protected]>, > [email protected] > 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 <[email protected]> > > Coverity-id: 741252 > CC: [email protected] > Signed-off-by: Jan Kara <[email protected]> > --- > 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 stable" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
