diff options
Diffstat (limited to 'drivers/android/binder_alloc.c')
-rw-r--r-- | drivers/android/binder_alloc.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/android/binder_alloc.c b/drivers/android/binder_alloc.c index 5a426c877dfb..4f382d51def1 100644 --- a/drivers/android/binder_alloc.c +++ b/drivers/android/binder_alloc.c | |||
@@ -219,7 +219,7 @@ static int binder_update_page_range(struct binder_alloc *alloc, int allocate, | |||
219 | mm = alloc->vma_vm_mm; | 219 | mm = alloc->vma_vm_mm; |
220 | 220 | ||
221 | if (mm) { | 221 | if (mm) { |
222 | down_write(&mm->mmap_sem); | 222 | down_read(&mm->mmap_sem); |
223 | vma = alloc->vma; | 223 | vma = alloc->vma; |
224 | } | 224 | } |
225 | 225 | ||
@@ -288,7 +288,7 @@ static int binder_update_page_range(struct binder_alloc *alloc, int allocate, | |||
288 | /* vm_insert_page does not seem to increment the refcount */ | 288 | /* vm_insert_page does not seem to increment the refcount */ |
289 | } | 289 | } |
290 | if (mm) { | 290 | if (mm) { |
291 | up_write(&mm->mmap_sem); | 291 | up_read(&mm->mmap_sem); |
292 | mmput(mm); | 292 | mmput(mm); |
293 | } | 293 | } |
294 | return 0; | 294 | return 0; |
@@ -321,7 +321,7 @@ err_page_ptr_cleared: | |||
321 | } | 321 | } |
322 | err_no_vma: | 322 | err_no_vma: |
323 | if (mm) { | 323 | if (mm) { |
324 | up_write(&mm->mmap_sem); | 324 | up_read(&mm->mmap_sem); |
325 | mmput(mm); | 325 | mmput(mm); |
326 | } | 326 | } |
327 | return vma ? -ENOMEM : -ESRCH; | 327 | return vma ? -ENOMEM : -ESRCH; |