mmap locking API: use coccinelle to convert mmap_sem rwsem call sites
[linux-block.git] / arch / s390 / kvm / priv.c
index b579b77deea6c6eccfea833a79ff6663f8768ef4..57e08b0a0a1a0fc76e2790d1564e6f71f8a147f5 100644 (file)
@@ -270,18 +270,18 @@ static int handle_iske(struct kvm_vcpu *vcpu)
                return kvm_s390_inject_program_int(vcpu, PGM_ADDRESSING);
 retry:
        unlocked = false;
-       down_read(&current->mm->mmap_sem);
+       mmap_read_lock(current->mm);
        rc = get_guest_storage_key(current->mm, vmaddr, &key);
 
        if (rc) {
                rc = fixup_user_fault(current, current->mm, vmaddr,
                                      FAULT_FLAG_WRITE, &unlocked);
                if (!rc) {
-                       up_read(&current->mm->mmap_sem);
+                       mmap_read_unlock(current->mm);
                        goto retry;
                }
        }
-       up_read(&current->mm->mmap_sem);
+       mmap_read_unlock(current->mm);
        if (rc == -EFAULT)
                return kvm_s390_inject_program_int(vcpu, PGM_ADDRESSING);
        if (rc < 0)
@@ -317,17 +317,17 @@ static int handle_rrbe(struct kvm_vcpu *vcpu)
                return kvm_s390_inject_program_int(vcpu, PGM_ADDRESSING);
 retry:
        unlocked = false;
-       down_read(&current->mm->mmap_sem);
+       mmap_read_lock(current->mm);
        rc = reset_guest_reference_bit(current->mm, vmaddr);
        if (rc < 0) {
                rc = fixup_user_fault(current, current->mm, vmaddr,
                                      FAULT_FLAG_WRITE, &unlocked);
                if (!rc) {
-                       up_read(&current->mm->mmap_sem);
+                       mmap_read_unlock(current->mm);
                        goto retry;
                }
        }
-       up_read(&current->mm->mmap_sem);
+       mmap_read_unlock(current->mm);
        if (rc == -EFAULT)
                return kvm_s390_inject_program_int(vcpu, PGM_ADDRESSING);
        if (rc < 0)
@@ -385,7 +385,7 @@ static int handle_sske(struct kvm_vcpu *vcpu)
                if (kvm_is_error_hva(vmaddr))
                        return kvm_s390_inject_program_int(vcpu, PGM_ADDRESSING);
 
-               down_read(&current->mm->mmap_sem);
+               mmap_read_lock(current->mm);
                rc = cond_set_guest_storage_key(current->mm, vmaddr, key, &oldkey,
                                                m3 & SSKE_NQ, m3 & SSKE_MR,
                                                m3 & SSKE_MC);
@@ -395,7 +395,7 @@ static int handle_sske(struct kvm_vcpu *vcpu)
                                              FAULT_FLAG_WRITE, &unlocked);
                        rc = !rc ? -EAGAIN : rc;
                }
-               up_read(&current->mm->mmap_sem);
+               mmap_read_unlock(current->mm);
                if (rc == -EFAULT)
                        return kvm_s390_inject_program_int(vcpu, PGM_ADDRESSING);
                if (rc < 0)
@@ -1091,7 +1091,7 @@ static int handle_pfmf(struct kvm_vcpu *vcpu)
 
                        if (rc)
                                return rc;
-                       down_read(&current->mm->mmap_sem);
+                       mmap_read_lock(current->mm);
                        rc = cond_set_guest_storage_key(current->mm, vmaddr,
                                                        key, NULL, nq, mr, mc);
                        if (rc < 0) {
@@ -1099,7 +1099,7 @@ static int handle_pfmf(struct kvm_vcpu *vcpu)
                                                      FAULT_FLAG_WRITE, &unlocked);
                                rc = !rc ? -EAGAIN : rc;
                        }
-                       up_read(&current->mm->mmap_sem);
+                       mmap_read_unlock(current->mm);
                        if (rc == -EFAULT)
                                return kvm_s390_inject_program_int(vcpu, PGM_ADDRESSING);
                        if (rc == -EAGAIN)
@@ -1220,9 +1220,9 @@ static int handle_essa(struct kvm_vcpu *vcpu)
                 * already correct, we do nothing and avoid the lock.
                 */
                if (vcpu->kvm->mm->context.uses_cmm == 0) {
-                       down_write(&vcpu->kvm->mm->mmap_sem);
+                       mmap_write_lock(vcpu->kvm->mm);
                        vcpu->kvm->mm->context.uses_cmm = 1;
-                       up_write(&vcpu->kvm->mm->mmap_sem);
+                       mmap_write_unlock(vcpu->kvm->mm);
                }
                /*
                 * If we are here, we are supposed to have CMMA enabled in
@@ -1239,11 +1239,11 @@ static int handle_essa(struct kvm_vcpu *vcpu)
        } else {
                int srcu_idx;
 
-               down_read(&vcpu->kvm->mm->mmap_sem);
+               mmap_read_lock(vcpu->kvm->mm);
                srcu_idx = srcu_read_lock(&vcpu->kvm->srcu);
                i = __do_essa(vcpu, orc);
                srcu_read_unlock(&vcpu->kvm->srcu, srcu_idx);
-               up_read(&vcpu->kvm->mm->mmap_sem);
+               mmap_read_unlock(vcpu->kvm->mm);
                if (i < 0)
                        return i;
                /* Account for the possible extra cbrl entry */
@@ -1251,10 +1251,10 @@ static int handle_essa(struct kvm_vcpu *vcpu)
        }
        vcpu->arch.sie_block->cbrlo &= PAGE_MASK;       /* reset nceo */
        cbrlo = phys_to_virt(vcpu->arch.sie_block->cbrlo);
-       down_read(&gmap->mm->mmap_sem);
+       mmap_read_lock(gmap->mm);
        for (i = 0; i < entries; ++i)
                __gmap_zap(gmap, cbrlo[i]);
-       up_read(&gmap->mm->mmap_sem);
+       mmap_read_unlock(gmap->mm);
        return 0;
 }