diff options
author | Theodore Ts'o <tytso@mit.edu> | 2018-09-01 12:45:04 -0400 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2018-09-01 12:45:04 -0400 |
commit | bcd8e91f98c156f4b1ebcfacae675f9cfd962441 (patch) | |
tree | d6a8e8a1d4596f0c559efa1dc4d404d1260dc6a1 /fs/ext4/ext4.h | |
parent | 4d982e25d0bdc83d8c64e66fdeca0b89240b3b85 (diff) |
ext4: avoid arithemetic overflow that can trigger a BUG
A maliciously crafted file system can cause an overflow when the
results of a 64-bit calculation is stored into a 32-bit length
parameter.
https://bugzilla.kernel.org/show_bug.cgi?id=200623
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Reported-by: Wen Xu <wen.xu@gatech.edu>
Cc: stable@vger.kernel.org
Diffstat (limited to 'fs/ext4/ext4.h')
-rw-r--r-- | fs/ext4/ext4.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h index 249bcee4d7b2..ac05bd86643a 100644 --- a/fs/ext4/ext4.h +++ b/fs/ext4/ext4.h @@ -686,6 +686,9 @@ enum { /* Max physical block we can address w/o extents */ #define EXT4_MAX_BLOCK_FILE_PHYS 0xFFFFFFFF +/* Max logical block we can support */ +#define EXT4_MAX_LOGICAL_BLOCK 0xFFFFFFFF + /* * Structure of an inode on the disk */ |