Non-executable stack

Julian Elischer julian at elischer.org
Wed Nov 2 11:14:58 PST 2005


Dag-Erling Smørgrav wrote:

>db <db at traceroute.dk> writes:
>  
>
>>Memory on ia32 can be writable and readable.  When it is readable it
>>is also executable.  On other arch's like AMD64 and IA64, I believe
>>memory can be readable, writable and executable.
>>    
>>
>
>Not quite.  IA32 can make individual segments readable, writable and /
>or executable, but lacks the ability to do so on a per-page basis.
>Since we have trampoline code at the top of the stack, the entire
>stack segment must be executable.  Moving the trampoline off the stack
>would solve the problem on all platforms.
>  
>

There has been recent talk of a shared kernel/user memory page..
that could be used for trampoline code.

>W^X across the board is not an option - it would break HotSpot and
>other JIT-based software.
>
>DES
>  
>


More information about the freebsd-security mailing list