Subject: Re: Non executable mappings and compatibility options bugs
To: Emmanuel Dreyfus <firstname.lastname@example.org>
From: Chuck Silvers <email@example.com>
Date: 06/20/2004 15:15:18
On Mon, Jun 21, 2004 at 12:11:25AM +0200, Emmanuel Dreyfus wrote:
> Chuck Silvers <firstname.lastname@example.org> wrote:
> > oh... you're looking at this as a per-process flag, I was thinking it
> > would be a per-emulation flag. having it be per-process would work too.
> > but it occurs to me that the problem is a little different than I was
> > thinking. in order to faithfully emulate the behaviour of another OS
> > we'll need to know exactly in which cases that OS maps things executable
> > when they "should" be non-executable. I would guess that it probably
> > goes beyond just what's going on during execve(), and that usually
> > we'll find that an OS that doesn't do everything correctly will be
> > making *all* mappings executable, even mmap() mappings without PROT_EXEC.
> > so in this case, the vmcmd_* functions are too high-level... we would
> > really want to change the behaviour of pmap_enter(). so on powerpc,
> > this would mean that if the per-process flag is set then we'll just
> > never set the SR_NOEXEC flag in the hardware.
> But this problem also exist if we have a per-emulation flag, right?
right, that comment is unrelated to the per-process vs. per-emulation one.