Check out the new USENIX Web site. next up previous
Next: Runtime array bounds checking Up: Related work Previous: Solar Designer's non-executable stack

PaX

PaX [14] is a page-based protection mechanism that marks data pages non-executable. Unlike Solar Designer's stack patch, PaX protects heap as well as stack. Since there is no execution permission bit on pages in x86 processor, PaX overloads the supervisor/user bit on pages and augments the page fault handler to distinguish the page faults due to the attempts to execute code in data pages. As a result, it imposes a run time overhead due to the extra page faults. PaX is also available as a Linux kernel patch.