mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Mike Frysinger <vapier.adi@gmail.com>
To: David Howells <dhowells@redhat.com>
Cc: lethal@linux-sh.org, jie.zhang@analog.com, stefani@seibold.net,
	gerg@snapgear.com, uclinux-dev@uclinux.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 5/7] NOMMU: Avoiding duplicate icache flushes of shared  maps
Date: Mon, 14 Dec 2009 18:55:43 -0500	[thread overview]
Message-ID: <8bd0f97a0912141555l103e4833k1ffae12f6924a9a4@mail.gmail.com> (raw)
In-Reply-To: <20091210135816.6325.37536.stgit@warthog.procyon.org.uk>

On Thu, Dec 10, 2009 at 08:58, David Howells wrote:
> From: Mike Frysinger <vapier.adi@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 <vapier@gentoo.org>
-mike

  reply	other threads:[~2009-12-14 23:56 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-12-10 13:57 [PATCH 1/7] security: do not check mmap_min_addr on nommu systems David Howells
2009-12-10 13:58 ` [PATCH 2/7] NOMMU: Provide per-task stack usage through /proc for NOMMU David Howells
2009-12-14 23:33   ` Mike Frysinger
2009-12-10 13:58 ` [PATCH 3/7] NOMMU: fix malloc performance by adding uninitialized flag David Howells
2009-12-10 13:58 ` [PATCH 4/7] FDPIC: Respect PT_GNU_STACK exec protection markings when creating NOMMU stack David Howells
2009-12-10 13:58 ` [PATCH 5/7] NOMMU: Avoiding duplicate icache flushes of shared maps David Howells
2009-12-14 23:55   ` Mike Frysinger [this message]
2009-12-15  0:41   ` [uClinux-dev] " Jamie Lokier
2009-12-15  4:52     ` Mike Frysinger
2009-12-15 10:52   ` David Howells
2009-12-10 13:58 ` [PATCH 6/7] NOMMU: Use copy_*_user_page() in access_process_vm() David Howells
2009-12-14 23:51   ` Mike Frysinger
2009-12-10 13:58 ` [PATCH 7/7] NOMMU: ramfs: Drop unused local var David Howells

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=8bd0f97a0912141555l103e4833k1ffae12f6924a9a4@mail.gmail.com \
    --to=vapier.adi@gmail.com \
    --cc=dhowells@redhat.com \
    --cc=gerg@snapgear.com \
    --cc=jie.zhang@analog.com \
    --cc=lethal@linux-sh.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=stefani@seibold.net \
    --cc=uclinux-dev@uclinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®