From mboxrd@z Thu Jan 1 00:00:00 1970 From: imre.deak@nokia.com (Imre Deak) Date: Mon, 28 Sep 2009 14:00:29 +0300 Subject: arm_syscall cacheflush breakage on VIPT platforms In-Reply-To: <20090928102815.GH6715@n2100.arm.linux.org.uk> References: <20090928092919.GA30271@localhost> <20090928094140.GA6715@n2100.arm.linux.org.uk> <20090928095429.GB30271@localhost> <20090928095945.GC6715@n2100.arm.linux.org.uk> <20090928101044.GD30271@localhost> <20090928102815.GH6715@n2100.arm.linux.org.uk> Message-ID: <20090928110029.GF30271@localhost> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Mon, Sep 28, 2009 at 12:28:15PM +0200, ext Russell King - ARM Linux wrote: > 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. Yes, but vmalloc is handled separately in do_translation_fault. In do_page_fault you'll need a fixup for kernel mode page fault. --Imre