diff options
author | Naoya Horiguchi <[email protected]> | 2010-05-11 14:06:55 -0700 |
---|---|---|
committer | Linus Torvalds <[email protected]> | 2010-05-11 17:33:42 -0700 |
commit | ab941e0fff3947b6dcc9c578d918d1bba54a6874 (patch) | |
tree | 5157de1b28370136fde227ecbd7fd2d38c15d30a /lib/flex_array.c | |
parent | 4a6018f7f4f1075c1a5403b5ec0ee7262187b86c (diff) |
rmap: remove anon_vma check in page_address_in_vma()
Currently page_address_in_vma() compares vma->anon_vma and
page_anon_vma(page) for parameter check, but in 2.6.34 a vma can have
multiple anon_vmas with anon_vma_chain, so current check does not work.
(For anonymous page shared by multiple processes, some verified (page,vma)
pairs return -EFAULT wrongly.)
We can go to checking all anon_vmas in the "same_vma" chain, but it needs
to meet lock requirement. Instead, we can remove anon_vma check safely
because page_address_in_vma() assumes that page and vma are already
checked to belong to the identical process.
Signed-off-by: Naoya Horiguchi <[email protected]>
Reviewed-by: Rik van Riel <[email protected]>
Cc: Andi Kleen <[email protected]>
Cc: Andrea Arcangeli <[email protected]>
Cc: Mel Gorman <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Diffstat (limited to 'lib/flex_array.c')
0 files changed, 0 insertions, 0 deletions