diff options
author | Oleg Nesterov <oleg@redhat.com> | 2010-04-23 13:18:01 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-04-24 11:31:25 -0700 |
commit | 31f2b0ebc01fd332cb0997f7ce9f9cde29af9e20 (patch) | |
tree | fc9d4cb410052afcc56bb8442a2dbcb8950464a8 /drivers | |
parent | 93b4a44f3ad69520d605aace3f3486b8eb754b96 (diff) | |
download | blackbird-op-linux-31f2b0ebc01fd332cb0997f7ce9f9cde29af9e20.tar.gz blackbird-op-linux-31f2b0ebc01fd332cb0997f7ce9f9cde29af9e20.zip |
rmap: anon_vma_prepare() can leak anon_vma_chain
If find_mergeable_anon_vma() succeeds but another thread installs
->anon_vma before we take ptl, then allocated == NULL but avc should be
freed. Change the code to check avc != NULL to detect this case.
Also, a couple of whitespace changes to make the critical section more
visible.
Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Reviewed-by: Rik van Riel <riel@redhat.com>
Cc: Hugh Dickins <hugh.dickins@tiscali.co.uk>
Cc: Pete Zaitcev <zaitcev@redhat.com>
Cc: Borislav Petkov <bp@alien8.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers')
0 files changed, 0 insertions, 0 deletions