aboutsummaryrefslogtreecommitdiffstats
path: root/mm/mmap.c
diff options
context:
space:
mode:
Diffstat (limited to 'mm/mmap.c')
-rw-r--r--mm/mmap.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/mm/mmap.c b/mm/mmap.c
index 9a796c41e7d9..88408632da66 100644
--- a/mm/mmap.c
+++ b/mm/mmap.c
@@ -2561,15 +2561,15 @@ static void vm_lock_anon_vma(struct mm_struct *mm, struct anon_vma *anon_vma)
2561 * The LSB of head.next can't change from under us 2561 * The LSB of head.next can't change from under us
2562 * because we hold the mm_all_locks_mutex. 2562 * because we hold the mm_all_locks_mutex.
2563 */ 2563 */
2564 mutex_lock_nest_lock(&anon_vma->root->mutex, &mm->mmap_sem); 2564 down_write(&anon_vma->root->rwsem);
2565 /* 2565 /*
2566 * We can safely modify head.next after taking the 2566 * We can safely modify head.next after taking the
2567 * anon_vma->root->mutex. If some other vma in this mm shares 2567 * anon_vma->root->rwsem. If some other vma in this mm shares
2568 * the same anon_vma we won't take it again. 2568 * the same anon_vma we won't take it again.
2569 * 2569 *
2570 * No need of atomic instructions here, head.next 2570 * No need of atomic instructions here, head.next
2571 * can't change from under us thanks to the 2571 * can't change from under us thanks to the
2572 * anon_vma->root->mutex. 2572 * anon_vma->root->rwsem.
2573 */ 2573 */
2574 if (__test_and_set_bit(0, (unsigned long *) 2574 if (__test_and_set_bit(0, (unsigned long *)
2575 &anon_vma->root->rb_root.rb_node)) 2575 &anon_vma->root->rb_root.rb_node))
@@ -2671,7 +2671,7 @@ static void vm_unlock_anon_vma(struct anon_vma *anon_vma)
2671 * 2671 *
2672 * No need of atomic instructions here, head.next 2672 * No need of atomic instructions here, head.next
2673 * can't change from under us until we release the 2673 * can't change from under us until we release the
2674 * anon_vma->root->mutex. 2674 * anon_vma->root->rwsem.
2675 */ 2675 */
2676 if (!__test_and_clear_bit(0, (unsigned long *) 2676 if (!__test_and_clear_bit(0, (unsigned long *)
2677 &anon_vma->root->rb_root.rb_node)) 2677 &anon_vma->root->rb_root.rb_node))