On Wed, 2007-06-06 at 02:06 -0700, Andrew Morton wrote:
> On Wed, 06 Jun 2007 10:54:21 +0200 Peter Zijlstra <[EMAIL PROTECTED]> wrote:
> 
> > > > It is a bit peculiar in that we have one task with two mm's, one of 
> > > > which is
> > > > inactive.
> > > > 
> > > > ...
> > > >
> > > > +                               flush_cache_page(bprm->vma, kpos,
> > > > +                                                
> > > > page_to_pfn(kmapped_page));
> > 
> > Bah, and my frv cross build bums out on an unrelated change,..
> > I'll see if I can get a noMMU arch building, in the mean time, would you
> > try this:
> > 
> > ---
> > 
> > Since no-MMU doesn't do the fancy inactive mm access there is no need to
> > flush cache.
> > 
> > Signed-off-by: Peter Zijlstra <[EMAIL PROTECTED]>
> > ---
> > 
> > Index: linux-2.6-2/fs/exec.c
> > ===================================================================
> > --- linux-2.6-2.orig/fs/exec.c      2007-06-05 16:48:52.000000000 +0200
> > +++ linux-2.6-2/fs/exec.c   2007-06-06 10:49:19.000000000 +0200
> > @@ -428,8 +428,10 @@ static int copy_strings(int argc, char _
> >                             kmapped_page = page;
> >                             kaddr = kmap(kmapped_page);
> >                             kpos = pos & PAGE_MASK;
> > +#ifdef CONFIG_MMU
> >                             flush_cache_page(bprm->vma, kpos,
> >                                              page_to_pfn(kmapped_page));
> > +#endif
> >                     }
> >                     if (copy_from_user(kaddr+offset, str, bytes_to_copy)) {
> >                             ret = -EFAULT;
> > 
> 
> I think the same problem will happen on NOMMU && STACK_GROWS_UP.  There are
> several new references to bprm->vma in there, not all inside CONFIG_MMU.

Right, which archs have that combo? I'll go gather cross compilers.

Perhaps I'd better create a flush_arg_page() function and stick that in
the mmu/nommu section somewhere earlier on in that file. Patch in a few.

A related question; does anybody know of a no-MMU arch that uses
fs/compat.c ? If there is such a beast, that would need some work.

-
To unsubscribe from this list: send the line "unsubscribe linux-arch" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to