Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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?)


JITs 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.


fair enough, i guess i'm just imagining challenges around multi-threaded jits, though i guess those are relatively less common overall.


You 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.


For userland, JITs continue work because you can still explicitly request mappings that are both writable and executable. W^X is a default policy.




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

Search: