arm_syscall cacheflush breakage on VIPT platforms

Russell King - ARM Linux linux at arm.linux.org.uk
Mon Sep 28 06:28:15 EDT 2009


On Mon, Sep 28, 2009 at 01:10:44PM +0300, Imre Deak wrote:
> On Mon, Sep 28, 2009 at 11:59:45AM +0200, ext Russell King - ARM Linux wrote:
> > The problem has nothing to do with holding of mmap_sem
> > AT ALL.  In fact, do_cache_op needs to hold mmap_sem itself, to prevent
> > the VMA going away beneath it.  That's not going to stop it generating
> > faults, and it's not going to stop it oopsing.
> > 
> > The problem is that we don't have any fixup in place for this situation.
> 
> Yes, agreed. What I stated is that for _triggerring_ the error message you
> need mmap_sem.
> 
> > There is nothing wrong in the page fault handler.
> 
> Agreed. Only a warning would be nice to make similar cases more apparent
> even if mmap_sem is not held.

Page faults can happen at other times, and validly be fixed up.  vmalloc
space as an example.  You can't assume that a kernel mode page fault
without an exception fixup is invalid.



More information about the linux-arm-kernel mailing list