]> git.proxmox.com Git - mirror_ubuntu-kernels.git/blobdiff - arch/xtensa/mm/fault.c
mmap locking API: use coccinelle to convert mmap_sem rwsem call sites
[mirror_ubuntu-kernels.git] / arch / xtensa / mm / fault.c
index e7172bd53cedff79debdf35c0bda07790fa93db7..1c8d22a0cf4618997d2ffb27d7995229c40ac5a0 100644 (file)
@@ -74,7 +74,7 @@ void do_page_fault(struct pt_regs *regs)
        if (user_mode(regs))
                flags |= FAULT_FLAG_USER;
 retry:
-       down_read(&mm->mmap_sem);
+       mmap_read_lock(mm);
        vma = find_vma(mm, address);
 
        if (!vma)
@@ -139,7 +139,7 @@ good_area:
                }
        }
 
-       up_read(&mm->mmap_sem);
+       mmap_read_unlock(mm);
        perf_sw_event(PERF_COUNT_SW_PAGE_FAULTS, 1, regs, address);
        if (flags & VM_FAULT_MAJOR)
                perf_sw_event(PERF_COUNT_SW_PAGE_FAULTS_MAJ, 1, regs, address);
@@ -152,7 +152,7 @@ good_area:
         * Fix it, but check if it's kernel or user first..
         */
 bad_area:
-       up_read(&mm->mmap_sem);
+       mmap_read_unlock(mm);
        if (user_mode(regs)) {
                current->thread.bad_vaddr = address;
                current->thread.error_code = is_write;
@@ -167,7 +167,7 @@ bad_area:
         * us unable to handle the page fault gracefully.
         */
 out_of_memory:
-       up_read(&mm->mmap_sem);
+       mmap_read_unlock(mm);
        if (!user_mode(regs))
                bad_page_fault(regs, address, SIGKILL);
        else
@@ -175,7 +175,7 @@ out_of_memory:
        return;
 
 do_sigbus:
-       up_read(&mm->mmap_sem);
+       mmap_read_unlock(mm);
 
        /* Send a sigbus, regardless of whether we were in kernel
         * or user mode.