summaryrefslogtreecommitdiff
path: root/drivers/char/mem.c
diff options
context:
space:
mode:
authorHugh Dickins <hugh@veritas.com>2005-11-21 21:32:18 -0800
committerLinus Torvalds <torvalds@g5.osdl.org>2005-11-22 09:13:42 -0800
commitee498ed730283e9cdfc8913f12b90a2246f1a8cc (patch)
tree797966a8454e40fdf1879bacea510ad8c55a91a2 /drivers/char/mem.c
parent920fc356f58d0e455bdfa53451f1c58eb211a846 (diff)
downloadlinux-3.10-ee498ed730283e9cdfc8913f12b90a2246f1a8cc.tar.gz
linux-3.10-ee498ed730283e9cdfc8913f12b90a2246f1a8cc.tar.bz2
linux-3.10-ee498ed730283e9cdfc8913f12b90a2246f1a8cc.zip
[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>
Diffstat (limited to 'drivers/char/mem.c')
0 files changed, 0 insertions, 0 deletions