Files
linux/fs
KAMEZAWA Hiroyuki 49ff3070f5 proc: pagemap: Hold mmap_sem during page walk
In initial design, walk_page_range() was designed just for walking page
table and it didn't require mmap_sem.  Now, find_vma() etc..  are used
in walk_page_range() and we need mmap_sem around it.

This patch adds mmap_sem around walk_page_range().

Because /proc/<pid>/pagemap's callback routine use put_user(), we have
to get rid of it to do sane fix.

Changelog: 2010/Apr/2
 - fixed start_vaddr and end overflow
Changelog: 2010/Apr/1
 - fixed start_vaddr calculation
 - removed unnecessary cast.
 - removed unnecessary change in smaps.
 - use GFP_TEMPORARY instead of GFP_KERNEL

Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: Matt Mackall <mpm@selenic.com>
Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Cc: Brian Swetland <swetland@google.com>
Cc: Dave Hansen <haveblue@us.ibm.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: San Mehat <san@google.com>
[ Fixed kmalloc failure return code as per Matt ]
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2010-04-19 07:54:04 -07:00
..
2010-02-09 04:50:46 -08:00
2010-02-09 04:50:48 -08:00
2010-02-23 07:37:55 -08:00
2010-02-09 04:50:46 -08:00
2009-10-04 15:05:10 -07:00
2009-09-30 12:19:44 -05:00
2010-02-23 07:37:58 -08:00
2009-06-17 00:36:36 -04:00
2009-07-12 12:22:34 -07:00
2009-12-18 14:04:08 -08:00
2009-07-12 12:22:34 -07:00
2009-09-23 18:13:10 -07:00
2009-09-23 07:39:30 -07:00
2009-09-24 08:41:47 -04:00
2010-02-09 04:50:47 -08:00
2009-06-17 00:36:37 -04:00
2009-06-18 13:03:46 -07:00
2009-09-24 08:41:47 -04:00
2008-12-31 18:07:43 -05:00
2009-09-24 07:21:03 -07:00
2009-06-18 13:03:41 -07:00
2010-02-23 07:37:44 -08:00
2009-03-31 23:00:26 -04:00
2009-09-24 07:47:27 -04:00
2009-10-22 08:11:44 +09:00
2009-10-04 15:05:10 -07:00
2009-09-23 07:39:29 -07:00
2009-02-18 15:37:53 -08:00