Skip to content
Commit 1c2d1421 authored by Jan Kara's avatar Jan Kara
Browse files

ext2: Fix underflow in ext2_max_size()



When ext2 filesystem is created with 64k block size, ext2_max_size()
will return value less than 0. Also, we cannot write any file in this fs
since the sb->maxbytes is less than 0. The core of the problem is that
the size of block index tree for such large block size is more than
i_blocks can carry. So fix the computation to count with this
possibility.

File size limits computed with the new function for the full range of
possible block sizes look like:

bits file_size
10     17247252480
11    275415851008
12   2196873666560
13   2197948973056
14   2198486220800
15   2198754754560
16   2198888906752

CC: stable@vger.kernel.org
Reported-by: default avataryangerkun <yangerkun@huawei.com>
Signed-off-by: default avatarJan Kara <jack@suse.cz>
parent 4bc74ba1
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment