Re: [RFC PATCH] take all anon_vma locks in anon_vma_lock

From: Andrea Arcangeli
Date: Wed Apr 28 2010 - 14:04:15 EST


On Wed, Apr 28, 2010 at 01:47:19PM -0400, Rik van Riel wrote:
> static inline void anon_vma_unlock(struct vm_area_struct *vma)

never mind as this is RFC, lock is clear enough

> @@ -1762,7 +1760,8 @@ static int expand_downwards(struct vm_area_struct *vma,
> if (error)
> return error;
>
> - anon_vma_lock(vma);
> + spin_lock(&mm->page_table_lock);
> + anon_vma_lock(vma, &mm->page_table_lock);

This will cause a lock inversion (page_table_lock can only be taken
after the anon_vma lock). I don't immediately see why the
page_table_lock here though?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/