|
From: | Ben L. Titzer |
Subject: | Re: [avr-gcc-list] Improving in leaps and skips! |
Date: | Tue, 15 Mar 2005 11:24:54 -0800 |
On Mar 13, 2005, at 1:26 PM, Jeff Barlow wrote:
Marek Michalkiewicz <address@hidden> wrote:Trampolines can't work on the AVR because it is not possible to executecode from writable memory.I would think they are becoming problematic on the more mainstream architectures also. It's been recognized that executing code on the stack opens the door to various security exploits. Newer Linux kernels, on some CPUs, are using the new NX bits to make data memory regions non executable.
The code to execute doesn't necessarily have to be on the stack. Java virtual machines dynamically generate code into the heap and execute it.
As a side note, Solaris / sparc has had a NX (no execute) bit for about a decade now. :-) But if you ask me, buffer overflows are just embarassing--people just don't learn from their (or other's) mistakes. There are programming disciplines, languages, and runtime systems that make buffer overflows impossible, but....ah well...I digress.
-B ========================================================Before we work on artificial intelligence, why don't we do something about natural stupidity?
--Steve Polyak
[Prev in Thread] | Current Thread | [Next in Thread] |