mmap locking API: use coccinelle to convert mmap_sem rwsem call sites
[linux-block.git] / drivers / xen / privcmd.c
index 989ae9bd02c060565d8adf3b2bb0f1f21413c5e3..a250d118144a094a6d124d363499c34404610f98 100644 (file)
@@ -276,7 +276,7 @@ static long privcmd_ioctl_mmap(struct file *file, void __user *udata)
        if (rc || list_empty(&pagelist))
                goto out;
 
-       down_write(&mm->mmap_sem);
+       mmap_write_lock(mm);
 
        {
                struct page *page = list_first_entry(&pagelist,
@@ -301,7 +301,7 @@ static long privcmd_ioctl_mmap(struct file *file, void __user *udata)
 
 
 out_up:
-       up_write(&mm->mmap_sem);
+       mmap_write_unlock(mm);
 
 out:
        free_page_list(&pagelist);
@@ -497,7 +497,7 @@ static long privcmd_ioctl_mmap_batch(
                }
        }
 
-       down_write(&mm->mmap_sem);
+       mmap_write_lock(mm);
 
        vma = find_vma(mm, m.addr);
        if (!vma ||
@@ -553,7 +553,7 @@ static long privcmd_ioctl_mmap_batch(
        BUG_ON(traverse_pages_block(m.num, sizeof(xen_pfn_t),
                                    &pagelist, mmap_batch_fn, &state));
 
-       up_write(&mm->mmap_sem);
+       mmap_write_unlock(mm);
 
        if (state.global_error) {
                /* Write back errors in second pass. */
@@ -574,7 +574,7 @@ out:
        return ret;
 
 out_unlock:
-       up_write(&mm->mmap_sem);
+       mmap_write_unlock(mm);
        goto out;
 }
 
@@ -739,7 +739,7 @@ static long privcmd_ioctl_mmap_resource(struct file *file, void __user *udata)
        if (data->domid != DOMID_INVALID && data->domid != kdata.dom)
                return -EPERM;
 
-       down_write(&mm->mmap_sem);
+       mmap_write_lock(mm);
 
        vma = find_vma(mm, kdata.addr);
        if (!vma || vma->vm_ops != &privcmd_vm_ops) {
@@ -818,7 +818,7 @@ static long privcmd_ioctl_mmap_resource(struct file *file, void __user *udata)
        }
 
 out:
-       up_write(&mm->mmap_sem);
+       mmap_write_unlock(mm);
        kfree(pfns);
 
        return rc;