Messages in this thread | | | Subject | Re: Executability of the stack | From | Arjan van de Ven <> | Date | Thu, 14 Dec 2006 10:57:24 +0100 |
| |
On Thu, 2006-12-14 at 10:26 +0100, Franck Pommereau wrote: > Dear Linux developers, > > I recently discovered that the Linux kernel on 32 bits x86 processors > reports the stack as being non-executable while it is actually > executable (because located in the same memory segment).
this is not per se true, it depends on the capabilities of your 32 bit x86 processor.
> # grep maps /proc/self/maps > bfce8000-bfcfe000 rw-p bfce8000 00:00 0 [stack]
this shows that the *intent* is to have it non-executable. Not all x86 processors can enforce this. All modern ones do.
> Is there any reason for this situation?
the alternative (showing effective permission) is equally confusing; apps would see permissions they didn't set...
> Maybe it comes from sharing source code for 64 bits and 32 bits > architectures but if so, it should be possible (and highly desirable) to > treat 32 bits differently.
it's not a "32 bit" thing, it's an "older processors don't, newer ones do" thing.
Can you paste your /proc/cpuinfo file here ? Maybe you have a processor with the capability but just haven't enabled it (either in the bios or in the kernel config)
Greetings, Arjan van de Ven
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |