Hacker News new | past | comments | ask | show | jobs | submit login

What is your point? There are optimizations for dynamic languages which are typically implemented as self modifying code (e.g. polymorphic inline caching) and need writable and executable pages. Without this you could still create writable pages, compile the code and then mark the pages read only and executable. The performance penalty is negligible compared to not using a just in time compiler at all.

On the other hand, with address space layout randomization this is almost impossible to exploit. Furthermore, without ADSR and stack canaries you can use return oriented programming to circumvent the lack of writable & executable memory.




The comment I replied to is nearly incomprehensible ("loops becoming sentient"?), so I sent him over to Wikipedia to read about W^X.

I personally don't care what Apple does because I own no Apple products and never intend to. Yes, you're right that Apple could allow executable pages without much security loss. But remember, address space randomization and canaries are all compile-time options, and they don't trust their developers to enable those.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: