On Sat, Sep 28, 2013 at 12:37 PM, Ingo Molnar <mi...@kernel.org> wrote: > > - down_write_nest_lock(&anon_vma->root->rwsem, &mm->mmap_sem); > + down_write_nest_lock(&anon_vma->root->rwlock, &mm->mmap_sem);
That's just completely bogus, and cannot work. Maybe just a "write_lock(&anon_vma->root->rwlock)" (which is just anon_vma_unlock_write(anon_vma)). But I think we might have a lockdep issue. I'm not quite sure what's up with the nesting there. > - if (rwsem_is_locked(&anon_vma->root->rwsem)) { > + if (write_can_lock(&anon_vma->root->rwlock)) { > anon_vma_lock_write(anon_vma); > anon_vma_unlock_write(anon_vma); > } That's the wrong way around. It should be if (!write_can_lock(&anon_vma->root->rwlock)) { so some more testing definitely needed. Linus -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/