Messages in this thread | | | From | Andy Lutomirski <> | Date | Fri, 14 Dec 2012 08:12:45 -0800 | Subject | Re: [PATCH] mm: Downgrade mmap_sem before locking or populating on mmap |
| |
On Fri, Dec 14, 2012 at 6:49 AM, Al Viro <viro@zeniv.linux.org.uk> wrote: > On Fri, Dec 14, 2012 at 03:14:50AM -0800, Andy Lutomirski wrote: > >> > Wait a minute. get_user_pages() relies on ->mmap_sem being held. Unless >> > I'm seriously misreading your patch it removes that protection. And yes, >> > I'm aware of execve-related exception; it's in special circumstances - >> > bprm->mm is guaranteed to be not shared (and we need to rearchitect that >> > area anyway, but that's a separate story). >> >> Unless I completely screwed up the patch, ->mmap_sem is still held for >> read (it's downgraded from write). It's just not held for write >> anymore. > > Huh? I'm talking about the call of get_user_pages() in aio_setup_ring(). > With your patch it's done completely outside of ->mmap_sem, isn't it?
Oh, /that/ call to get_user_pages. That would qualify as screwing up...
Since dropping and reacquiring mmap_sem there is probably a bad idea there, I'll rework this and post a v2.
--Andy
| |