Jesse Pollard <pollard@tomcat.admin.navo.hpc.mil> writes:
> Neither LISP nor Ada requires execution on stack. Some languages implement
I'm not sure for lisp,
but netsted subprograms are extremely common in ADA.
gcc use trampoline to implement them.
> traps that way, but it is not required that they do so. That is up to the
> implementation.
The only way for this kind of program to workaround unexecutable
stack is to mprotect the stack...
So what do you do ? do you fix all the program... or the kernel ?
> BTW, the execve can't be on the stack. The penetration
> must put the address of an already existing execve system call on the
> stack. Only parameters can be on the non-executable stack.
Agree,
but executable stack will, *in all case* give a false sence of security.
-- -- Yoann, http://prelude.sourceforge.net It is well known that M$ products don't call free() after a malloc(). The Unix community wish them good luck for their future developments.- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Sun Apr 23 2000 - 21:00:13 EST