llvm-project
191e0622 - [JITLink][MachO][arm64] Don't lower ptrauth edges in noalloc-lifetime sections.

Commit
222 days ago
[JITLink][MachO][arm64] Don't lower ptrauth edges in noalloc-lifetime sections. Ptrauth relocations can only be fixed up in the executing process, but noalloc sections do not have any memory in the executing process. Failure to skip ptrauth edges results in signing instructions that operate on invalid addresses, leading to segfaults or data corruption. Ignoring noalloc sections for ptrauth lowering purposes allows the ptrauth edges to persist until they reach the applyFixup method, at which point they raise a useful error and cleanly terminate linking.
Author
Committer
Parents
Loading