[PATCH 4/4] Do not call flush_cache_user_range with mmap_sem held

Catalin Marinas catalin.marinas at arm.com
Mon Apr 4 09:43:49 EDT 2011


On Mon, 2011-04-04 at 14:37 +0100, Russell King - ARM Linux wrote:
> On Mon, Apr 04, 2011 at 02:27:45PM +0100, Catalin Marinas wrote:
> > On 14 December 2010 21:08, Catalin Marinas <catalin.marinas at arm.com> wrote:
> > > On Tuesday, 14 December 2010, Russell King - ARM Linux
> > > <linux at arm.linux.org.uk> wrote:
> > >> On Tue, Dec 14, 2010 at 05:51:36PM +0000, Catalin Marinas wrote:
> > >>> But what's the problem if such mapping disappears? The
> > >>> flush_cache_user_range code should just skip such pages.
> > >>
> > >> That's only half the story.
> > >>
> > >> What if someone remaps something over that range before the cache
> > >> maintainence has completed.
> > >
> > > That someone remapping the same range can only be a thread of the same
> > > process. If the code was so badly written as to unmap ranges of memory
> > > when a thread actively uses it, then it probably deserves any
> > > corruption.
> >
> > I haven't seen any more replies in this thread but I still think it's
> > a real problem as John reported. Do you agree with the original patch?
> 
> No, I do not agree.

You already stated that and I replied with some arguments. Is this any
different from user cache maintenance available in other architectures
(where user space can't acquire the mmap_sem)?

-- 
Catalin





More information about the linux-arm-kernel mailing list