ext4: fix overflow when updating superblock backups after resize
authorJan Kara <jack@suse.cz>
Thu, 30 Oct 2014 14:52:57 +0000 (10:52 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 14 Nov 2014 16:59:58 +0000 (08:59 -0800)
commit43fa8712c4c552e59bf076a4dca37f6483d2c90d
tree75ce580d49f80a054d71cf1b3ba56a4c5c8f96c3
parent9cf666834cffdb450b9b18f3e06c30493cb40ed2
ext4: fix overflow when updating superblock backups after resize

commit 9378c6768e4fca48971e7b6a9075bc006eda981d upstream.

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.

Coverity-id: 741252
Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Reviewed-by: Lukas Czerner <lczerner@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/ext4/resize.c