linux/mm
Brice Goglin 80bba1290a mm: no get_user/put_user while holding mmap_sem in do_pages_stat?
Since commit 2f007e74bb, do_pages_stat()
gets the page address from user-space and puts the corresponding status
back while holding the mmap_sem for read.  There is no need to hold
mmap_sem there while some page-faults may occur.

This patch adds a temporary address and status buffer so as to only
hold mmap_sem while working on these kernel buffers.  This is
implemented by extracting do_pages_stat_array() out of do_pages_stat().

Signed-off-by: Brice Goglin <Brice.Goglin@inria.fr>
Cc: Christoph Lameter <clameter@sgi.com>
Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: Nick Piggin <npiggin@suse.de>
Cc: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-12-10 08:01:53 -08:00
..
allocpercpu.c
backing-dev.c mm/backing-dev.c: remove recently-added WARN_ON() 2008-12-10 08:01:52 -08:00
bootmem.c
bounce.c
dmapool.c
fadvise.c
filemap.c
filemap_xip.c
fremap.c
highmem.c
hugetlb.c hugetlb: make unmap_ref_private multi-size-aware 2008-11-12 17:17:16 -08:00
internal.h hugetlb: pull gigantic page initialisation out of the default path 2008-11-06 15:41:18 -08:00
Kconfig
maccess.c
madvise.c
Makefile
memcontrol.c
memory.c
memory_hotplug.c meminit section warnings 2008-11-30 10:03:35 -08:00
mempolicy.c mm: move migrate_prep out from under mmap_sem 2008-11-06 15:41:18 -08:00
mempool.c
migrate.c mm: no get_user/put_user while holding mmap_sem in do_pages_stat? 2008-12-10 08:01:53 -08:00
mincore.c
mlock.c unitialized return value in mm/mlock.c: __mlock_vma_pages_range() 2008-11-16 15:55:36 -08:00
mm_init.c
mmap.c parisc: fix find_extend_vma() breakage 2008-11-12 10:37:48 -08:00
mmu_notifier.c
mmzone.c
mprotect.c
mremap.c
msync.c
nommu.c
oom_kill.c mm/oom_kill.c: fix badness() kerneldoc 2008-11-06 15:41:19 -08:00
page-writeback.c
page_alloc.c cpusets: update mems allowed in page allocator 2008-11-12 17:17:16 -08:00
page_cgroup.c page_cgroup should ignore empty nodes 2008-12-10 08:01:53 -08:00
page_io.c
page_isolation.c memory hotplug: fix page_zone() calculation in test_pages_isolated() 2008-11-06 15:41:19 -08:00
pagewalk.c
pdflush.c
prio_tree.c
quicklist.c
readahead.c
rmap.c
shmem.c
shmem_acl.c
slab.c
slob.c
slub.c memcg: memory hotplug fix for notifier callback 2008-12-01 19:55:24 -08:00
sparse-vmemmap.c vmemmap: warn about page_structs with remote distance 2008-11-06 15:41:19 -08:00
sparse.c meminit section warnings 2008-11-30 10:03:35 -08:00
swap.c mm: remove UP version of lru_add_drain_all() 2008-12-10 08:01:53 -08:00
swap_state.c
swapfile.c
thrash.c
tiny-shmem.c
truncate.c
util.c
vmalloc.c mm: vmalloc fix lazy unmapping cache aliasing 2008-12-01 19:55:23 -08:00
vmscan.c vmscan: protect zone rotation stats by lru lock 2008-12-01 07:58:06 -08:00
vmstat.c