On Thu 19-07-18 16:17:26, Chengguang Xu wrote:
> 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 <cgxu...@gmx.com>

Looks good to me. You can add:

Reviewed-by: Jan Kara <j...@suse.cz>

BTW, I can see you didn't include two (I'd say the most important ;)
addresses to CC: Al Viro as a VFS maintainer and linux-fsdevel mailing
list. Although this code resides in mm/ it is in fact a filesystem code.
Added now.

                                                                Honza

> ---
>  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
> 
-- 
Jan Kara <j...@suse.com>
SUSE Labs, CR

Reply via email to