summaryrefslogtreecommitdiffstats
path: root/mm/fremap.c
diff options
context:
space:
mode:
authorAndrew Morton <akpm@osdl.org>2006-09-08 09:48:38 -0700
committerLinus Torvalds <torvalds@g5.osdl.org>2006-09-08 10:22:50 -0700
commit016eb4a0ed06a3677d67a584da901f0e9a63c666 (patch)
tree574ead6bd03d31ca7036ff2389cb0400f3fd63fc /mm/fremap.c
parent3665d0e58fa44f50c744f85c7e8ad21d5b10e206 (diff)
[PATCH] invalidate_complete_page() race fix
If a CPU faults this page into pagetables after invalidate_mapping_pages() checked page_mapped(), invalidate_complete_page() will still proceed to remove the page from pagecache. This leaves the page-faulting process with a detached page. If it was MAP_SHARED then file data loss will ensue. Fix that up by checking the page's refcount after taking tree_lock. Cc: Nick Piggin <nickpiggin@yahoo.com.au> Cc: Hugh Dickins <hugh@veritas.com> Cc: <stable@kernel.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'mm/fremap.c')
0 files changed, 0 insertions, 0 deletions