Sriram Krishnan (Moved to http://www.sriramkrishnan.com/blog)

Search. Usability. Virtual machines.Geek stuff

<October 2008>
SuMoTuWeThFrSa
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678


Navigation

Subscriptions

News

Link blog
Technorati Profile
The Blogs I read
Creative Commons Licence
This work is licensed under a Creative Commons License.


Wednesday, December 29, 2004 - Posts

NX bit and executable code

I've been following with great interest the NX flag (available in Windows from SP2) onwards which stops people from executing 'data' memory. But what I wonder is- how does this affect languages like Lisp where the 'code is the data'?

Here's a blog post from Philip Reick with some real world problems with the NX bit

...All of my problems are a result of the new support for the "Non-Executable" memory protection that some processors (such as my amd 64) offer (The support in XP is called “Data Execution Prevention“ or DEP) This feature ensures that programs don't try to run data segments as code (stopping lots of types of common virus and worm attacks).   The problem is, there are many applications that use data segments to construct executable code.

For example - SpamBayes plugged into outlook.   When DEP is on, Outlook fails to start.  I had errors in DOOM3 (perhaps becaus of the scripting they use?)  CVSWeb (Python seems to be a theme),  And a couple more...

This is the price we have to pay for the popularity of C and C++ and the prevalence of buffer overflows

posted Wednesday, December 29, 2004 1:53 AM by sriram




Powered by Dot Net Junkies, by Telligent Systems