[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20180719081726.3341-1-cgxu519@gmx.com>
Date: Thu, 19 Jul 2018 16:17:26 +0800
From: Chengguang Xu <cgxu519@....com>
To: akpm@...ux-foundation.org, jack@...e.cz,
mgorman@...hsingularity.net, jlayton@...hat.com,
ak@...ux.intel.com, mawilcox@...rosoft.com,
tim.c.chen@...ux.intel.com
Cc: linux-mm@...ck.org, linux-kernel@...r.kernel.org,
Chengguang Xu <cgxu519@....com>
Subject: [PATCH] mm: adjust max read count in generic_file_buffered_read()
When we try to truncate read count in generic_file_buffered_read(),
should deliver (sb->s_maxbytes - offset) as maximum count not
sb->s_maxbytes itself.
Signed-off-by: Chengguang Xu <cgxu519@....com>
---
mm/filemap.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mm/filemap.c b/mm/filemap.c
index 52517f28e6f4..5c2d481d21cf 100644
--- a/mm/filemap.c
+++ b/mm/filemap.c
@@ -2064,7 +2064,7 @@ static ssize_t generic_file_buffered_read(struct kiocb *iocb,
if (unlikely(*ppos >= inode->i_sb->s_maxbytes))
return 0;
- iov_iter_truncate(iter, inode->i_sb->s_maxbytes);
+ iov_iter_truncate(iter, inode->i_sb->s_maxbytes - *ppos);
index = *ppos >> PAGE_SHIFT;
prev_index = ra->prev_pos >> PAGE_SHIFT;
--
2.17.1
Powered by blists - more mailing lists