kernel-ark/mm
Hugh Dickins ee498ed730 [PATCH] unpaged: anon in VM_UNPAGED
copy_one_pte needs to copy the anonymous COWed pages in a VM_UNPAGED area,
zap_pte_range needs to free them, do_wp_page needs to COW them: just like
ordinary pages, not like the unpaged.

But recognizing them is a little subtle: because PageReserved is no longer a
condition for remap_pfn_range, we can now mmap all of /dev/mem (whether the
distro permits, and whether it's advisable on this or that architecture, is
another matter).  So if we can see a PageAnon, it may not be ours to mess with
(or may be ours from elsewhere in the address space).  I suspect there's an
entertaining insoluble self-referential problem here, but the page_is_anon
function does a good practical job, and MAP_PRIVATE PROT_WRITE VM_UNPAGED will
always be an odd choice.

In updating the comment on page_address_in_vma, noticed a potential NULL
dereference, in a path we don't actually take, but fixed it.

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-11-22 09:13:42 -08:00
..
bootmem.c
fadvise.c
filemap_xip.c
filemap.c
filemap.h
fremap.c [PATCH] unpaged: VM_NONLINEAR VM_RESERVED 2005-11-22 09:13:42 -08:00
highmem.c
hugetlb.c
internal.h
Kconfig
madvise.c [PATCH] unpaged: VM_UNPAGED 2005-11-22 09:13:42 -08:00
Makefile
memory_hotplug.c
memory.c [PATCH] unpaged: anon in VM_UNPAGED 2005-11-22 09:13:42 -08:00
mempolicy.c [PATCH] unpaged: VM_UNPAGED 2005-11-22 09:13:42 -08:00
mempool.c
mincore.c
mlock.c
mmap.c [PATCH] unpaged: private write VM_RESERVED 2005-11-22 09:13:42 -08:00
mprotect.c [PATCH] unpaged: private write VM_RESERVED 2005-11-22 09:13:42 -08:00
mremap.c
msync.c [PATCH] unpaged: VM_UNPAGED 2005-11-22 09:13:42 -08:00
nommu.c
oom_kill.c
page_alloc.c [PATCH] unpaged: unifdefed PageCompound 2005-11-22 09:13:42 -08:00
page_io.c
page-writeback.c
pdflush.c
prio_tree.c
readahead.c
rmap.c [PATCH] unpaged: anon in VM_UNPAGED 2005-11-22 09:13:42 -08:00
shmem.c
slab.c
sparse.c
swap_state.c
swap.c [PATCH] unpaged: unifdefed PageCompound 2005-11-22 09:13:42 -08:00
swapfile.c
thrash.c
tiny-shmem.c
truncate.c
vmalloc.c
vmscan.c