kernel-fxtec-pro1x/mm
Hugh Dickins a8fb5618da [PATCH] mm: unlink_file_vma, remove_vma
Divide remove_vm_struct into two parts: first anon_vma_unlink plus
unlink_file_vma, to unlink the vma from the list and tree by which rmap or
vmtruncate might find it; then remove_vma to close, fput and free.

The intention here is to do the anon_vma_unlink and unlink_file_vma earlier,
in free_pgtables before freeing any page tables: so we can be sure that any
page tables traversed by rmap and vmtruncate are stable (and other, ordinary
cases are stabilized by holding mmap_sem).

This will be crucial to traversing pgd,pud,pmd without page_table_lock.  But
testing the split-out patch showed that lifting the page_table_lock is
symbiotically necessary to make this change - the lock ordering is wrong to
move those unlinks into free_pgtables while it's under ptlock.

Signed-off-by: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-10-29 21:40:37 -07:00
..
bootmem.c
fadvise.c
filemap.c
filemap.h
filemap_xip.c
fremap.c
highmem.c
hugetlb.c
internal.h
Kconfig
madvise.c
Makefile
memory.c [PATCH] mm: anon is already wrprotected 2005-10-29 21:40:36 -07:00
mempolicy.c [PATCH] Remove near all BUGs in mm/mempolicy.c 2005-10-29 21:40:35 -07:00
mempool.c
mincore.c
mlock.c
mmap.c [PATCH] mm: unlink_file_vma, remove_vma 2005-10-29 21:40:37 -07:00
mprotect.c [PATCH] mm: vm_stat_account unshackled 2005-10-29 21:40:37 -07:00
mremap.c [PATCH] mm: vm_stat_account unshackled 2005-10-29 21:40:37 -07:00
msync.c [PATCH] mm: msync_pte_range progress 2005-10-29 21:40:36 -07:00
nommu.c
oom_kill.c
page-writeback.c
page_alloc.c
page_io.c
pdflush.c
prio_tree.c
readahead.c
rmap.c
shmem.c
slab.c [PATCH] slab: add additional debugging to detect slabs from the wrong node 2005-10-29 21:40:36 -07:00
sparse.c
swap.c
swap_state.c
swapfile.c [PATCH] mm: anon is already wrprotected 2005-10-29 21:40:36 -07:00
thrash.c
tiny-shmem.c
truncate.c
vmalloc.c
vmscan.c [PATCH] shrink_list(): skip anon pages if not may_swap 2005-10-29 21:40:36 -07:00