mmap locking API: use coccinelle to convert mmap_sem rwsem call sites
[linux-2.6-microblaze.git] / arch / s390 / mm / fault.c
index 2082323..f0fa51a 100644 (file)
@@ -433,7 +433,7 @@ static inline vm_fault_t do_exception(struct pt_regs *regs, int access)
                flags |= FAULT_FLAG_USER;
        if (access == VM_WRITE || (trans_exc_code & store_indication) == 0x400)
                flags |= FAULT_FLAG_WRITE;
-       down_read(&mm->mmap_sem);
+       mmap_read_lock(mm);
 
        gmap = NULL;
        if (IS_ENABLED(CONFIG_PGSTE) && type == GMAP_FAULT) {
@@ -514,7 +514,7 @@ retry:
                        }
                        flags &= ~FAULT_FLAG_RETRY_NOWAIT;
                        flags |= FAULT_FLAG_TRIED;
-                       down_read(&mm->mmap_sem);
+                       mmap_read_lock(mm);
                        goto retry;
                }
        }
@@ -532,7 +532,7 @@ retry:
        }
        fault = 0;
 out_up:
-       up_read(&mm->mmap_sem);
+       mmap_read_unlock(mm);
 out:
        return fault;
 }
@@ -824,22 +824,22 @@ void do_secure_storage_access(struct pt_regs *regs)
        switch (get_fault_type(regs)) {
        case USER_FAULT:
                mm = current->mm;
-               down_read(&mm->mmap_sem);
+               mmap_read_lock(mm);
                vma = find_vma(mm, addr);
                if (!vma) {
-                       up_read(&mm->mmap_sem);
+                       mmap_read_unlock(mm);
                        do_fault_error(regs, VM_READ | VM_WRITE, VM_FAULT_BADMAP);
                        break;
                }
                page = follow_page(vma, addr, FOLL_WRITE | FOLL_GET);
                if (IS_ERR_OR_NULL(page)) {
-                       up_read(&mm->mmap_sem);
+                       mmap_read_unlock(mm);
                        break;
                }
                if (arch_make_page_accessible(page))
                        send_sig(SIGSEGV, current, 0);
                put_page(page);
-               up_read(&mm->mmap_sem);
+               mmap_read_unlock(mm);
                break;
        case KERNEL_FAULT:
                page = phys_to_page(addr);