mmap locking API: use coccinelle to convert mmap_sem rwsem call sites
[linux-block.git] / mm / mprotect.c
index 1eeb7b3cedf04ed04c07c0fc3c6964b85589a5f8..ee27e44a7e07335505c5d6fcceab33c6f1b7736e 100644 (file)
@@ -538,7 +538,7 @@ static int do_mprotect_pkey(unsigned long start, size_t len,
 
        reqprot = prot;
 
-       if (down_write_killable(&current->mm->mmap_sem))
+       if (mmap_write_lock_killable(current->mm))
                return -EINTR;
 
        /*
@@ -628,7 +628,7 @@ static int do_mprotect_pkey(unsigned long start, size_t len,
                prot = reqprot;
        }
 out:
-       up_write(&current->mm->mmap_sem);
+       mmap_write_unlock(current->mm);
        return error;
 }
 
@@ -658,7 +658,7 @@ SYSCALL_DEFINE2(pkey_alloc, unsigned long, flags, unsigned long, init_val)
        if (init_val & ~PKEY_ACCESS_MASK)
                return -EINVAL;
 
-       down_write(&current->mm->mmap_sem);
+       mmap_write_lock(current->mm);
        pkey = mm_pkey_alloc(current->mm);
 
        ret = -ENOSPC;
@@ -672,7 +672,7 @@ SYSCALL_DEFINE2(pkey_alloc, unsigned long, flags, unsigned long, init_val)
        }
        ret = pkey;
 out:
-       up_write(&current->mm->mmap_sem);
+       mmap_write_unlock(current->mm);
        return ret;
 }
 
@@ -680,9 +680,9 @@ SYSCALL_DEFINE1(pkey_free, int, pkey)
 {
        int ret;
 
-       down_write(&current->mm->mmap_sem);
+       mmap_write_lock(current->mm);
        ret = mm_pkey_free(current->mm, pkey);
-       up_write(&current->mm->mmap_sem);
+       mmap_write_unlock(current->mm);
 
        /*
         * We could provie warnings or errors if any VMA still