[OpenBSD] staticperl dying unexpectedly with Coro/jit...

Darin McBride darin.mcbride at shaw.ca
Thu Oct 27 16:48:21 CEST 2016


On Thursday October 27 2016 3:59:41 PM nomad at null.net wrote:
> I have no idea what W^X refers to. I also don't know what behaviour (if
> any) they are referring to because it seems to work for me under normal
> conditions.

W^X violations means that a particular section of memory is marked both 
writable and executable. Malicious code that hacked your process space could 
put arbitrary code to be executed in that space (because it's writable), and 
thus gain improper access.  Data pages need write access but don't need 
execute access, and code loaded from disk is written on load (by the kernel?), 
and then marked read-only so that it can't be changed at runtime.

Of course, this defeats the whole point of JIT where you don't have the code 
until runtime, and you have to write it out on the fly to be executed.



More information about the anyevent mailing list