diff options
author | Andrew Morton | 2006-09-08 18:48:38 +0200 |
---|---|---|
committer | Linus Torvalds | 2006-09-08 19:22:50 +0200 |
commit | 016eb4a0ed06a3677d67a584da901f0e9a63c666 (patch) | |
tree | 574ead6bd03d31ca7036ff2389cb0400f3fd63fc /include/linux/nfs_xdr.h | |
parent | [PATCH] ext3_getblk() should handle HOLE correctly (diff) | |
download | kernel-qcow2-linux-016eb4a0ed06a3677d67a584da901f0e9a63c666.tar.gz kernel-qcow2-linux-016eb4a0ed06a3677d67a584da901f0e9a63c666.tar.xz kernel-qcow2-linux-016eb4a0ed06a3677d67a584da901f0e9a63c666.zip |
[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 'include/linux/nfs_xdr.h')
0 files changed, 0 insertions, 0 deletions