ext4: fix overflow caused by missing cast in ext4_resize_fs()
authorJerry Lee <jerrylee@qnap.com>
Sun, 6 Aug 2017 05:18:31 +0000 (01:18 -0400)
committerWilly Tarreau <w@1wt.eu>
Wed, 1 Nov 2017 21:12:44 +0000 (22:12 +0100)
commitc39dcbde3872cb39e1dbff940c610963aad96518
tree791954b3cb102fe3388e4b9acc99abda679f9039
parentbdc5fbb365b3d7baf9eb783562288946c4a72219
ext4: fix overflow caused by missing cast in ext4_resize_fs()

commit aec51758ce10a9c847a62a48a168f8c804c6e053 upstream.

On a 32-bit platform, the value of n_blcoks_count may be wrong during
the file system is resized to size larger than 2^32 blocks.  This may
caused the superblock being corrupted with zero blocks count.

Fixes: 1c6bd7173d66
Signed-off-by: Jerry Lee <jerrylee@qnap.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Cc: stable@vger.kernel.org # 3.7+
Signed-off-by: Willy Tarreau <w@1wt.eu>
fs/ext4/resize.c