diff options
author | Alex Shi <alex.shi@linaro.org> | 2017-12-19 12:03:58 +0800 |
---|---|---|
committer | Alex Shi <alex.shi@linaro.org> | 2017-12-19 12:03:58 +0800 |
commit | 28610abf4a574c33ca70e3d7b0e523fdede488d1 (patch) | |
tree | 5b71eaa5fef96701ed53c5830fb0d299d589f36f /fs/ext4/extents.c | |
parent | 56c3829d86a8dc060b591b4e841e0e721b6f9518 (diff) | |
parent | 0c37397b6b8708f3cae24a8faeed2d1c84760892 (diff) |
Merge remote-tracking branch 'rt-stable/v4.9-rt' into linux-linaro-lsk-v4.9-rt
Diffstat (limited to 'fs/ext4/extents.c')
-rw-r--r-- | fs/ext4/extents.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/fs/ext4/extents.c b/fs/ext4/extents.c index a3e0b3b7441d..a77cbc5b657b 100644 --- a/fs/ext4/extents.c +++ b/fs/ext4/extents.c @@ -4803,7 +4803,8 @@ static long ext4_zero_range(struct file *file, loff_t offset, } if (!(mode & FALLOC_FL_KEEP_SIZE) && - offset + len > i_size_read(inode)) { + (offset + len > i_size_read(inode) || + offset + len > EXT4_I(inode)->i_disksize)) { new_size = offset + len; ret = inode_newsize_ok(inode, new_size); if (ret) @@ -4974,7 +4975,8 @@ long ext4_fallocate(struct file *file, int mode, loff_t offset, loff_t len) } if (!(mode & FALLOC_FL_KEEP_SIZE) && - offset + len > i_size_read(inode)) { + (offset + len > i_size_read(inode) || + offset + len > EXT4_I(inode)->i_disksize)) { new_size = offset + len; ret = inode_newsize_ok(inode, new_size); if (ret) |