Skip to content
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

Make CoreCLR compatible with W^X #10036

Closed
jkotas opened this issue Mar 26, 2018 · 3 comments
Closed

Make CoreCLR compatible with W^X #10036

jkotas opened this issue Mar 26, 2018 · 3 comments

Comments

@jkotas
Copy link
Member

jkotas commented Mar 26, 2018

https://en.wikipedia.org/wiki/W%5EX

@msftgits msftgits transferred this issue from dotnet/coreclr Jan 31, 2020
@msftgits msftgits added this to the Future milestone Jan 31, 2020
@jkotas jkotas added the Security label Mar 9, 2020
@tannergooding
Copy link
Member

It looks like this will be required to support the new Apple Silicon (Arm on macOS): mono/mono#20014

@lambdageek
Copy link
Member

It looks like this will be required to support the new Apple Silicon (Arm on macOS): mono/mono#20014

The relevant Apple guidance is https://developer.apple.com/documentation/apple_silicon/porting_just-in-time_compilers_to_apple_silicon

New memory pages start out as readable and executable (R-X) by default. Calling pthread_jit_write_protect_np with the value false removes the executable permission for the current thread and adds the writable permission (RW-). The change applies only to the current thread; other threads that write to the JIT memory region must similarly call the function before writing any data. When write protections are disabled, the thread may write instructions to the JIT memory page, but it may not execute those instructions.

@jkotas
Copy link
Member Author

jkotas commented Mar 30, 2021

Duplicate of #50391

@jkotas jkotas marked this as a duplicate of #50391 Mar 30, 2021
@jkotas jkotas closed this as completed Mar 30, 2021
@ghost ghost locked as resolved and limited conversation to collaborators Apr 29, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

5 participants