mm: fix potential anon_vma locking issue in mprotect()
authorMichel Lespinasse <[email protected]>
Mon, 8 Oct 2012 23:30:01 +0000 (16:30 -0700)
committerLinus Torvalds <[email protected]>
Tue, 9 Oct 2012 07:22:28 +0000 (16:22 +0900)
commitca42b26ab285edc5ee3f9faa48379d258db53c35
tree4a9d68d4d730474dde75b1ffff106d7e3442aef1
parent227e4047488d3ee0173a914275a7fd207ad51e5b
mm: fix potential anon_vma locking issue in mprotect()

Fix an anon_vma locking issue in the following situation:

- vma has no anon_vma
- next has an anon_vma
- vma is being shrunk / next is being expanded, due to an mprotect call

We need to take next's anon_vma lock to avoid races with rmap users (such
as page migration) while next is being expanded.

Signed-off-by: Michel Lespinasse <[email protected]>
Reviewed-by: Andrea Arcangeli <[email protected]>
Acked-by: Hugh Dickins <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
mm/mmap.c