From owner-freebsd-hackers Tue Mar 4 10:14:34 1997 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.5/8.8.5) id KAA04956 for hackers-outgoing; Tue, 4 Mar 1997 10:14:34 -0800 (PST) Received: from rover.village.org (rover.village.org [204.144.255.49]) by freefall.freebsd.org (8.8.5/8.8.5) with SMTP id KAA04951 for ; Tue, 4 Mar 1997 10:14:31 -0800 (PST) Received: from rover.village.org [127.0.0.1] by rover.village.org with esmtp (Exim 0.56 #1) id E0w1yhg-0000oP-00; Tue, 4 Mar 1997 11:12:44 -0700 To: Bruce Evans Subject: Re: Removing execute privs from stack pages Cc: terry@lambert.org, wpaul@skynet.ctr.columbia.edu, hackers@freebsd.org In-reply-to: Your message of "Tue, 04 Mar 1997 22:32:08 +1100." <199703041132.WAA06944@godzilla.zeta.org.au> References: <199703041132.WAA06944@godzilla.zeta.org.au> Date: Tue, 04 Mar 1997 11:12:43 -0700 From: Warner Losh Message-Id: Sender: owner-hackers@freebsd.org X-Loop: FreeBSD.org Precedence: bulk In message <199703041132.WAA06944@godzilla.zeta.org.au> Bruce Evans writes: : >Frankly, I wonder how LISP and FORTH can run on such a system. : : I think they would have to do system calls to map pages for execution. : Even dynamically linked C code would need this. There would be some : security if the mapping were refused for setuid processes. g++ uses trampoline code on the stack as well for things like nested scopes and references/pointers to functions inside those scopes. There was also some traffic that g++ placed other things on the stack as well with its new exception handling code, but I'm not sure if that is for x86 or not. Neat idea, too bad otehr people need the stack to be executable :-(. Warner