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/

Reply via email to