Re: [PROPOSAL/PATCH] Remove PT_GNU_STACK support before 2.6.11

From: Andi Kleen
Date: Sun Feb 06 2005 - 08:45:20 EST


On Sun, Feb 06, 2005 at 02:31:33PM +0100, Ingo Molnar wrote:
>
> * Andi Kleen <ak@xxxxxxx> wrote:
>
> > On Sun, Feb 06, 2005 at 02:04:57PM +0100, Arjan van de Ven wrote:
> > >
> > > > Hmm, I got a report that it doesn't work anymore with
> > > > 2.6.11rcs on x86-64. I haven't looked closely yet,
> > > > but it wouldn't surprise me if this change isn't also involved.
> > >
> > > PT_GNU_STACK change is there since like 2.6.6 (and was put in by a suse person)
> > > To me that is a strong indication that you are wrong on your
> > > suspicion...
> >
> > Nah, the change to break 32bit userland mmap/mprotect like this was only
> > put in after 2.6.10.
>
> i suspect there may be some fundamental misunderstanding here. The
> change to honor PT_GNU_STACK (on 64-bit) was added in April 2004 and
> appeared in 2.6.6. The change to enforce the protection bits on x86 NX
> CPUs (32-bit) was added in June 2004 and appeared in 2.6.8. I.e. it's
> been part of the upstream kernel for more than half a year. Try it and
> boot 2.6.8, you'll get NX protection. (I'm not sure about when it was
> enabled for 32-bit emulation on the x64 kernel, you should be the one to
> know that - but IIRC it was enabled prior 2.6.10.)

I suspect it was afterwards. All the reports about grub/mono/etc. not working
anymore etc. only appear now. It's possible that there wasn't
enough testing before or the testing happened with completely
different semantics (like Fedora on grub)

Anyways, I don't care about the 32bit change much because nobody seems to
test that one anyways. Basically all the NX capable machines
are 64bit capable and often run 64bit kernels, and even if people run
32bit kernels they tend to run non PAE kernels where the problem is hidden.

The main thing what annoys me is that the x86-64 32bit emulation
seems to effectively serve as a testing ground for 32bit changes now,
because the stuff is not tested on 32bit.

And it's already enough work to keep the 32bit emulation working,
without having to care about additional issues like this.

> so i think you are on to the wrong victim :-)

I don't think so, no.

Linus, can you please tell me what you prefer? If you think
it's better to only disable this on x86-64 I can change that too.
But it would be probably the wrong thing to do, because
then the same issues will all reappear later.

-Andi
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/