mm/nommu: switch do_mmap_private to kernel_read

Instead of playing with the address limit.  This also gains us
validation of the kvec and proper atime updates.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
Christoph Hellwig 2017-09-01 17:39:17 +02:00 committed by Al Viro
parent 9a779bc149
commit b4bf802a5a
1 changed files with 1 additions and 6 deletions

View File

@ -1164,17 +1164,12 @@ static int do_mmap_private(struct vm_area_struct *vma,
if (vma->vm_file) {
/* read the contents of a file into the copy */
mm_segment_t old_fs;
loff_t fpos;
fpos = vma->vm_pgoff;
fpos <<= PAGE_SHIFT;
old_fs = get_fs();
set_fs(KERNEL_DS);
ret = __vfs_read(vma->vm_file, base, len, &fpos);
set_fs(old_fs);
ret = kernel_read(vma->vm_file, base, len, &fpos);
if (ret < 0)
goto error_free;