mmap: avoid unnecessary anon_vma lock acquisition in vma_adjust()
[pandora-kernel.git] / mm / mmap.c
index 56eb871..b6d74b3 100644 (file)
--- a/mm/mmap.c
+++ b/mm/mmap.c
@@ -570,9 +570,9 @@ again:                      remove_next = 1 + (end > next->vm_end);
 
        /*
         * When changing only vma->vm_end, we don't really need
-        * anon_vma lock: but is that case worth optimizing out?
+        * anon_vma lock.
         */
-       if (vma->anon_vma)
+       if (vma->anon_vma && (insert || importer || start != vma->vm_start))
                anon_vma = vma->anon_vma;
        if (anon_vma) {
                spin_lock(&anon_vma->lock);