| Date | Fri, 9 Apr 2010 11:19:01 +0900 | Subject | Re: [PATCH 02/13] mm: Revalidate anon_vma in page_lock_anon_vma() | From | Minchan Kim <> |
| |
Hi, Peter.
On Fri, Apr 9, 2010 at 4:17 AM, Peter Zijlstra <a.p.zijlstra@chello.nl> wrote: > There is nothing preventing the anon_vma from being detached while we > are spinning to acquire the lock. Most (all?) current users end up > calling something like vma_address(page, vma) on it, which has a > fairly good chance of weeding out wonky vmas. > > However suppose the anon_vma got freed and re-used while we were > waiting to acquire the lock, and the new anon_vma fits with the > page->index (because that is the only thing vma_address() uses to > determine if the page fits in a particular vma, we could end up > traversing faulty anon_vma chains.
We have second defense rule by page_check_address. Before anon_vma is detached, pte of pages on the anon_vma should be zeroed. So can't page_check_address close the race?
Thanks for good trial for good feature.
-- Kind regards, Minchan Kim
|