diff options
author | Brice Goglin <Brice.Goglin@inria.fr> | 2008-12-09 22:14:23 +0100 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-12-10 17:01:53 +0100 |
commit | 80bba1290ab5122c60cdb73332b26d288dc8aedd (patch) | |
tree | 1a97a6f5070818ffcb3573c1968471110bed3a42 /include/asm-generic/atomic.h | |
parent | drivers/serial/s3c2440.c: fix typo in MODULE_LICENSE (diff) | |
download | linux-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