diff options
Diffstat (limited to 'fs/bio.c')
| -rw-r--r-- | fs/bio.c | 8 |
1 files changed, 2 insertions, 6 deletions
| @@ -721,12 +721,8 @@ static struct bio *__bio_map_user_iov(struct request_queue *q, | |||
| 721 | const int local_nr_pages = end - start; | 721 | const int local_nr_pages = end - start; |
| 722 | const int page_limit = cur_page + local_nr_pages; | 722 | const int page_limit = cur_page + local_nr_pages; |
| 723 | 723 | ||
| 724 | down_read(¤t->mm->mmap_sem); | 724 | ret = get_user_pages_fast(uaddr, local_nr_pages, |
| 725 | ret = get_user_pages(current, current->mm, uaddr, | 725 | write_to_vm, &pages[cur_page]); |
| 726 | local_nr_pages, | ||
| 727 | write_to_vm, 0, &pages[cur_page], NULL); | ||
| 728 | up_read(¤t->mm->mmap_sem); | ||
| 729 | |||
| 730 | if (ret < local_nr_pages) { | 726 | if (ret < local_nr_pages) { |
| 731 | ret = -EFAULT; | 727 | ret = -EFAULT; |
| 732 | goto out_unmap; | 728 | goto out_unmap; |
