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@xxxxxx> --- mm/nommu.c | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/mm/nommu.c b/mm/nommu.c index fc184f597d59..379f1022bdea 100644 --- a/mm/nommu.c +++ b/mm/nommu.c @@ -1164,17 +1164,8 @@ 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); - + loff_t fpos = vma->vm_pgoff << PAGE_SHIFT; + ret = kernel_read(vma->vm_file, base, len, &fpos); if (ret < 0) goto error_free; -- 2.11.0