aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mm/filemap.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/mm/filemap.c b/mm/filemap.c
index 1b05f75aea0f..2f7b7783bd6b 100644
--- a/mm/filemap.c
+++ b/mm/filemap.c
@@ -1687,6 +1687,10 @@ static ssize_t do_generic_file_read(struct file *filp, loff_t *ppos,
1687 unsigned int prev_offset; 1687 unsigned int prev_offset;
1688 int error = 0; 1688 int error = 0;
1689 1689
1690 if (unlikely(*ppos >= inode->i_sb->s_maxbytes))
1691 return -EINVAL;
1692 iov_iter_truncate(iter, inode->i_sb->s_maxbytes);
1693
1690 index = *ppos >> PAGE_SHIFT; 1694 index = *ppos >> PAGE_SHIFT;
1691 prev_index = ra->prev_pos >> PAGE_SHIFT; 1695 prev_index = ra->prev_pos >> PAGE_SHIFT;
1692 prev_offset = ra->prev_pos & (PAGE_SIZE-1); 1696 prev_offset = ra->prev_pos & (PAGE_SIZE-1);