linux/mm
Andrew Morton 016eb4a0ed [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>
2006-09-08 10:22:50 -07:00
..
bootmem.c
fadvise.c [PATCH] fadvise() make POSIX_FADV_NOREUSE a no-op 2006-08-06 08:57:47 -07:00
filemap_xip.c
filemap.c
filemap.h
fremap.c
highmem.c
hugetlb.c
internal.h
Kconfig
madvise.c
Makefile
memory_hotplug.c [PATCH] memory hotadd fixes: enhance collision check 2006-08-06 08:57:49 -07:00
memory.c
mempolicy.c [PATCH] fix NUMA interleaving for huge pages 2006-09-01 11:39:10 -07:00
mempool.c [PATCH] dm: work around mempool_alloc, bio_alloc_bioset deadlocks 2006-09-01 11:39:09 -07:00
migrate.c
mincore.c
mlock.c
mmap.c [PATCH] IA64,sparc: local DoS with corrupted ELFs 2006-09-08 08:40:46 -07:00
mmzone.c
mprotect.c
mremap.c
msync.c
nommu.c
oom_kill.c
page_alloc.c
page_io.c
page-writeback.c
pdflush.c
prio_tree.c
readahead.c
rmap.c
shmem.c
slab.c [PATCH] Fix kmem_cache_alloc() been documented twice 2006-07-31 13:28:43 -07:00
slob.c
sparse.c
swap_state.c
swap.c [PATCH] fuse: fix error case in fuse_readpages 2006-08-14 12:54:29 -07:00
swapfile.c [PATCH] swsusp: Fix swap_type_of 2006-08-27 11:01:28 -07:00
thrash.c
tiny-shmem.c
truncate.c [PATCH] invalidate_complete_page() race fix 2006-09-08 10:22:50 -07:00
util.c
vmalloc.c
vmscan.c
vmstat.c [PATCH] ZVC: Scale thresholds depending on the size of the system 2006-09-01 11:39:08 -07:00