summaryrefslogtreecommitdiffstats
path: root/include/asm-generic/atomic.h
diff options
context:
space:
mode:
authorBrice Goglin <Brice.Goglin@inria.fr>2008-12-09 22:14:23 +0100
committerLinus Torvalds <torvalds@linux-foundation.org>2008-12-10 17:01:53 +0100
commit80bba1290ab5122c60cdb73332b26d288dc8aedd (patch)
tree1a97a6f5070818ffcb3573c1968471110bed3a42 /include/asm-generic/atomic.h
parentdrivers/serial/s3c2440.c: fix typo in MODULE_LICENSE (diff)
downloadlinux-80bba1290ab5122c60cdb73332b26d288dc8aedd.tar.xz
linux-80bba1290ab5122c60cdb73332b26d288dc8aedd.zip
mm: no get_user/put_user while holding mmap_sem in do_pages_stat?
Since commit 2f007e74bb85b9fc4eab28524052161703300f1a, 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>
Diffstat (limited to '')
0 files changed, 0 insertions, 0 deletions