Messages in this thread | | | Date | Fri, 4 Jan 2013 02:49:36 +0000 | From | Al Viro <> | Subject | Re: [PATCH] mm: protect against concurrent vma expansion |
| |
On Thu, Jan 03, 2013 at 06:40:05PM -0600, Simon Jeons wrote: > On Wed, 2012-12-19 at 19:01 -0800, Michel Lespinasse wrote: > > Hi Simon, > > > > On Wed, Dec 19, 2012 at 5:56 PM, Simon Jeons <simon.jeons@gmail.com> wrote: > > > One question. > > > > > > I found that mainly callsite of expand_stack() is #PF, but it holds > > > mmap_sem each time before call expand_stack(), how can hold a *shared* > > > mmap_sem happen? > > > > the #PF handler calls down_read(&mm->mmap_sem) before calling expand_stack. > > > > I think I'm just confusing you with my terminology; shared lock == > > read lock == several readers might hold it at once (I'd say they share > > it) > > Sorry for my late response. > > Since expand_stack() will modify vma, then why hold a read lock here?
To prevent that vma being ripped out.
| |