Dan Hipschman dsh@linux.ucla.edu writes:
In this revision, I leave setting permissions on page faults to the unhandled exception filter and simply ignore page faults on execution access (read access exceptions should be caught since they translate into bad stub data, but these don't pose a problem anyway). I also fixed a bug regarding how the mask field of __widl_except_frame was set.
There's no reason to ignore execute access errors, those are bugs too. You are still not filtering the exception properly though, the condition checking has to be done directly in the handler, you can't longjmp back to the code and then re-raise the exception. That's doubly true for the finally handling. This means you have to generate different handlers for the different exception conditions.