Re: [PATCH 4/4] mm: variable length argument support

Peter Zijlstra <[email protected]>
Newsgroups gmane.linux.ports.hppa,gmane.linux.kernel,gmane.linux.kernel.mm
Message-ID <1181121129.7348.181.camel@twins>
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.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.