diff options
Diffstat (limited to 'mm')
-rw-r--r-- | mm/nommu.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/mm/nommu.c b/mm/nommu.c index a8d17521624a..17773862619b 100644 --- a/mm/nommu.c +++ b/mm/nommu.c | |||
@@ -1921,9 +1921,11 @@ int access_process_vm(struct task_struct *tsk, unsigned long addr, void *buf, in | |||
1921 | 1921 | ||
1922 | /* only read or write mappings where it is permitted */ | 1922 | /* only read or write mappings where it is permitted */ |
1923 | if (write && vma->vm_flags & VM_MAYWRITE) | 1923 | if (write && vma->vm_flags & VM_MAYWRITE) |
1924 | len -= copy_to_user((void *) addr, buf, len); | 1924 | copy_to_user_page(vma, NULL, addr, |
1925 | (void *) addr, buf, len); | ||
1925 | else if (!write && vma->vm_flags & VM_MAYREAD) | 1926 | else if (!write && vma->vm_flags & VM_MAYREAD) |
1926 | len -= copy_from_user(buf, (void *) addr, len); | 1927 | copy_from_user_page(vma, NULL, addr, |
1928 | buf, (void *) addr, len); | ||
1927 | else | 1929 | else |
1928 | len = 0; | 1930 | len = 0; |
1929 | } else { | 1931 | } else { |