-
Notifications
You must be signed in to change notification settings - Fork 338
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix PaX #540
Fix PaX #540
Conversation
Verified with
|
Oops, fails on MacOS |
9379d08
to
4733769
Compare
It doesn't |
Thanks, I'll look at this and incorporate some of your changes into the libffi update branch and we'll see what's left after that. |
Can you rebase off the current master? Some of this may have been addressed from the ppc64le fixes. |
This removes ClosurePool. It has been switching pages protection between writable and executable, which was making it incompatible with PaX MPROTECT. libffi instead leaves its closures (closure trampolines) non-executable, relying on PaX to recognize and emulate them, which allows it to work even under such circumstances. Remove CUSTOM_TRAMPOLINE and USE_RAW to avoid ifdef hassle.
Done. Feel free to ignore this [and merge anyway], but PaX itself could be patched instead, as being overly-restrictive. Current (incomplete, but sufficient for the case) state: |
Drop
ClosurePool
in favor of PaX-compatible libffi functions.