Messages in this thread | | | Subject | Re: [PATCH] proc: pagemap: Hold mmap_sem during page walk | From | Matt Mackall <> | Date | Thu, 01 Apr 2010 02:09:31 -0500 |
| |
On Thu, 2010-04-01 at 15:34 +0900, KAMEZAWA Hiroyuki wrote: > On Thu, 1 Apr 2010 15:09:56 +0900 > KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> wrote: > > > > > + pm.pos = 0; > > + start_vaddr += PAGEMAP_WALK_SIZE; > > + end = start_vaddr + PAGEMAP_WALK_SIZE; > > Sigh...this is bad.. > > == > From: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> > > 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 looks pretty reasonable. However, it also looks very similar to my first version of pagemap (which started with double-buffering). It's going to need re-testing to make sure it hasn't reintroduced any wrapping, alignment, or off-by-one bugs that have already been ironed out once or twice.
-- http://selenic.com : development and support for Mercurial and Linux
| |