From: David Mosberger <davidm@napali.hpl.hp.com>
To: linux-ia64@vger.kernel.org
Subject: [Linux-ia64] Re: can we make anonymous memory non-EXECUTABLE?
Date: Tue, 08 Jan 2002 19:12:45 +0000 [thread overview]
Message-ID: <marc-linux-ia64-105590698805776@msgid-missing> (raw)
In-Reply-To: <marc-linux-ia64-105590698805771@msgid-missing>
>>>>> On Mon, 07 Jan 2002 22:02:08 -0800 (PST), "David S. Miller" <davem@redhat.com> said:
DaveM> I assume this hack is "have a software EXECUTE bit, initially
DaveM> only set the software one, when we take a fault on execute
DaveM> set the hardware bit and maybe flush the Icache". If so,
DaveM> what is the big deal? :-)
Yes. Hey, don't get me wrong: I'm *proud* of that solution, but if
the alternative is to completely get rid of the problem in the first
place, that is always preferable (simplicity rules).
DaveM> I think changing this behavior is going to silently break
DaveM> things on many architectures.
I don't consider SIGSEGV to be a silent failure. Also, I think
all the evidence is that it's unlikely to break many existing
apps:
o The bug I described has been present for *years* on
Alpha and probably all other platforms other than x86;
even on ia64 it took almost two years before someone
noticed. It's possible that nobody noticed because
the code generators were part of a larger program,
but it's very likely that anyone writing a test program
would have allocated the non-executable memory, so you'd
expect *someone* to have run into it at some point.
o Certain libraries such as the Boehm Garbage Collector
already turn off execute permission by default. While
there may not be that many apps that use it in a production
environment, it is my impression that many developers are
using it as a memory-leak detector (e.g., Mozilla does that).
DaveM> Secondly, I do not see any
DaveM> real gain from any of this and my ports are those that have
DaveM> I-cache coherency issues :-)
I think that's fine. If the consensus is that apps *should* use
mprotect() to get executable permission (Linus implied as much) and
it's an architecture specific choice as to whether this is enforced,
I'm happy. My belief is that we could make this change on ia64
without undue burden on programmers. If not, I'm sure I'll find out
about it and I'm willing to take the responsibility.
--david
next prev parent reply other threads:[~2002-01-08 19:12 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-01-08 6:02 [Linux-ia64] Re: can we make anonymous memory non-EXECUTABLE? David S. Miller
2002-01-08 13:23 ` Alan Cox
2002-01-08 19:12 ` David Mosberger [this message]
2002-01-08 19:15 ` David Mosberger
2002-01-08 19:32 ` Albert D. Cahalan
2002-01-10 1:04 ` Paul Mackerras
2002-01-10 3:40 ` David Mosberger
2002-01-11 5:49 ` David Mosberger
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=marc-linux-ia64-105590698805776@msgid-missing \
--to=davidm@napali.hpl.hp.com \
--cc=linux-ia64@vger.kernel.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