|
@@ -3613,11 +3613,13 @@ static int __access_remote_vm(struct task_struct *tsk, struct mm_struct *mm,
|
|
|
ret = get_user_pages(tsk, mm, addr, 1,
|
|
|
write, 1, &page, &vma);
|
|
|
if (ret <= 0) {
|
|
|
+#ifndef CONFIG_HAVE_IOREMAP_PROT
|
|
|
+ break;
|
|
|
+#else
|
|
|
/*
|
|
|
* Check if this is a VM_IO | VM_PFNMAP VMA, which
|
|
|
* we can access using slightly different code.
|
|
|
*/
|
|
|
-#ifdef CONFIG_HAVE_IOREMAP_PROT
|
|
|
vma = find_vma(mm, addr);
|
|
|
if (!vma || vma->vm_start > addr)
|
|
|
break;
|
|
@@ -3625,9 +3627,9 @@ static int __access_remote_vm(struct task_struct *tsk, struct mm_struct *mm,
|
|
|
ret = vma->vm_ops->access(vma, addr, buf,
|
|
|
len, write);
|
|
|
if (ret <= 0)
|
|
|
-#endif
|
|
|
break;
|
|
|
bytes = ret;
|
|
|
+#endif
|
|
|
} else {
|
|
|
bytes = len;
|
|
|
offset = addr & (PAGE_SIZE-1);
|