diff --git a/drivers/android/binder_alloc.c b/drivers/android/binder_alloc.c index 7d10b7e4d767..8dc677f58ebb 100644 --- a/drivers/android/binder_alloc.c +++ b/drivers/android/binder_alloc.c @@ -213,7 +213,7 @@ static int binder_update_page_range(struct binder_alloc *alloc, int allocate, mm = alloc->mm; if (mm) { - mmap_write_lock(mm); + mmap_read_lock(mm); vma = alloc->vma; } @@ -271,7 +271,7 @@ static int binder_update_page_range(struct binder_alloc *alloc, int allocate, trace_binder_alloc_page_end(alloc, index); } if (mm) { - mmap_write_unlock(mm); + mmap_read_unlock(mm); mmput(mm); } return 0; @@ -304,7 +304,7 @@ err_page_ptr_cleared: } err_no_vma: if (mm) { - mmap_write_unlock(mm); + mmap_read_unlock(mm); mmput(mm); } return vma ? -ENOMEM : -ESRCH;