On Thu, Dec 10, 2009 at 08:58, David Howells wrote: > From: Mike Frysinger <vapier....@gmail.com> > > When working with FDPIC, there are many shared mappings of read-only code > regions between applications (the C library, applet packages like busybox, > etc.), but the current do_mmap_pgoff() function will issue an icache flush > whenever a VMA is added to an MM instead of only doing it when the map is > initially created. > > The flush can instead be done when a region is first mmapped PROT_EXEC. Note > that we may not rely on the first mapping of a region being executable - it's > possible for it to be PROT_READ only, so we have to remember whether we've > flushed the region or not, and then flush the entire region when a bit of it > is > made executable. > > However, this also affects the brk area. That will no longer be executable. > We can mprotect() it to PROT_EXEC on MPU-mode kernels, but for NOMMU mode > kernels, when it increases the brk allocation, making sys_brk() flush the > extra > from the icache should suffice. The brk area probably isn't used by NOMMU > programs since the brk area can only use up the leavings from the stack > allocation, where the stack allocation is larger than requested.
this works fine for me, thanks. Signed-off-by: Mike Frysinger <vap...@gentoo.org> -mike _______________________________________________ uClinux-dev mailing list uClinux-dev@uclinux.org http://mailman.uclinux.org/mailman/listinfo/uclinux-dev This message was resent by uclinux-dev@uclinux.org To unsubscribe see: http://mailman.uclinux.org/mailman/options/uclinux-dev