W^X Consequences Improves security Makes exploit authoring very difficult. Improves performance Some architectures even speed up (TLB handling improvements) None slowed down Breaks nothing Some people ask about JIT compilation systems like Java. If a program does not use msync() and mprotect() correctly it will not work on a machine with split I-D caches... so nothing new here.