aboutsummaryrefslogtreecommitdiffstats
path: root/mm/memory.c
diff options
context:
space:
mode:
Diffstat (limited to 'mm/memory.c')
-rw-r--r--mm/memory.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/mm/memory.c b/mm/memory.c
index fc1987dfd8cc..20a9adb7b36e 100644
--- a/mm/memory.c
+++ b/mm/memory.c
@@ -3873,6 +3873,10 @@ static int __access_remote_vm(struct task_struct *tsk, struct mm_struct *mm,
3873{ 3873{
3874 struct vm_area_struct *vma; 3874 struct vm_area_struct *vma;
3875 void *old_buf = buf; 3875 void *old_buf = buf;
3876 unsigned int flags = FOLL_FORCE;
3877
3878 if (write)
3879 flags |= FOLL_WRITE;
3876 3880
3877 down_read(&mm->mmap_sem); 3881 down_read(&mm->mmap_sem);
3878 /* ignore errors, just check how much was successfully transferred */ 3882 /* ignore errors, just check how much was successfully transferred */
@@ -3882,7 +3886,7 @@ static int __access_remote_vm(struct task_struct *tsk, struct mm_struct *mm,
3882 struct page *page = NULL; 3886 struct page *page = NULL;
3883 3887
3884 ret = get_user_pages_remote(tsk, mm, addr, 1, 3888 ret = get_user_pages_remote(tsk, mm, addr, 1,
3885 write, 1, &page, &vma); 3889 flags, &page, &vma);
3886 if (ret <= 0) { 3890 if (ret <= 0) {
3887#ifndef CONFIG_HAVE_IOREMAP_PROT 3891#ifndef CONFIG_HAVE_IOREMAP_PROT
3888 break; 3892 break;