]> git.proxmox.com Git - mirror_ubuntu-kernels.git/blobdiff - drivers/android/binder_alloc.c
mmap locking API: use coccinelle to convert mmap_sem rwsem call sites
[mirror_ubuntu-kernels.git] / drivers / android / binder_alloc.c
index 2d8b9b91dee0ce29549968c5c6def1d89cb9601b..cbdc43ed0f9f5e07e46084ebec2297d7c3ddf472 100644 (file)
@@ -212,7 +212,7 @@ static int binder_update_page_range(struct binder_alloc *alloc, int allocate,
                mm = alloc->vma_vm_mm;
 
        if (mm) {
-               down_read(&mm->mmap_sem);
+               mmap_read_lock(mm);
                vma = alloc->vma;
        }
 
@@ -270,7 +270,7 @@ static int binder_update_page_range(struct binder_alloc *alloc, int allocate,
                trace_binder_alloc_page_end(alloc, index);
        }
        if (mm) {
-               up_read(&mm->mmap_sem);
+               mmap_read_unlock(mm);
                mmput(mm);
        }
        return 0;
@@ -303,7 +303,7 @@ err_page_ptr_cleared:
        }
 err_no_vma:
        if (mm) {
-               up_read(&mm->mmap_sem);
+               mmap_read_unlock(mm);
                mmput(mm);
        }
        return vma ? -ENOMEM : -ESRCH;
@@ -932,7 +932,7 @@ enum lru_status binder_alloc_free_page(struct list_head *item,
        mm = alloc->vma_vm_mm;
        if (!mmget_not_zero(mm))
                goto err_mmget;
-       if (!down_read_trylock(&mm->mmap_sem))
+       if (!mmap_read_trylock(mm))
                goto err_down_read_mmap_sem_failed;
        vma = binder_alloc_get_vma(alloc);
 
@@ -946,7 +946,7 @@ enum lru_status binder_alloc_free_page(struct list_head *item,
 
                trace_binder_unmap_user_end(alloc, index);
        }
-       up_read(&mm->mmap_sem);
+       mmap_read_unlock(mm);
        mmput(mm);
 
        trace_binder_unmap_kernel_start(alloc, index);