4 ms·
This is a pretty neat idea and interesting change! I wonder how having a security model where each page of memory can only be one of writeable/executable impact
by carterschonwald 12y ago
This is a pretty neat idea and interesting change! I wonder how having a security model where each page of memory can only be one of writeable/executable impacts JITs though? (I guess thats perhaps why jits often have those landing padd spots at the top of function/methods?)
- haberman 12y agoJITs are fine as long as you can switch a page from being rw to rx. At least that's my experience writing a JIT in userspace.
- carterschonwald 12y agofair enough, i guess i'm just imagining challenges around multi-threaded jits, though i guess those are relatively less common overall.
- haberman 12y agoYou can have multiple threads generating code if necessary, you just need to ensure that each has its own pages to write to. Once the machine code is written the page can be flipped to rx and it's safe to share across multiple threads.
- deleted 12y ago[deleted]
- brynet 12y agoFor userland, JITs continue work because you can still explicitly request mappings that are both writable and executable. W^X is a default policy.