]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - mm/migrate.c
mm: always lock the root (oldest) anon_vma
[net-next-2.6.git] / mm / migrate.c
index 1855f869917d410b4f5381521b61de4577b1aae1..5208fa1d9712aedfcd07bbdf28b686c5340d6769 100644 (file)
@@ -682,7 +682,7 @@ skip_unmap:
 rcu_unlock:
 
        /* Drop an anon_vma reference if we took one */
-       if (anon_vma && atomic_dec_and_lock(&anon_vma->external_refcount, &anon_vma->lock)) {
+       if (anon_vma && atomic_dec_and_lock(&anon_vma->external_refcount, &anon_vma->root->lock)) {
                int empty = list_empty(&anon_vma->head);
                anon_vma_unlock(anon_vma);
                if (empty)