alexcrichton requested cfallin for a review on PR #13118.
alexcrichton requested wasmtime-core-reviewers for a review on PR #13118.
alexcrichton opened PR #13118 from alexcrichton:remove-pointer-authentication to bytecodealliance:main:
This commit removes the pointer authentication instructions from our fiber implementation. There's more rationale in #12778 for this but the basic problems are:
- Android uses the "A" key to sign return addresses, but the "A" key differs between threads. This causes resuming fibers across threads to crash.
- Rust does not provide the ability to know when pointer authentication is enabled, nor does it have a way of enabling pointer authentication for generated code on stable.
- We can't currently find reference documentation for which key should be used ABI-wise for each target, nor why the Android "A" key is changing across threads in the same process.
Overall it seems like we're a bit too far out on a limb trying to enable this. In the future if all Rust code, except this inline assembly, uses pointer authentication we'll be in a good spot to reevaluate this perhaps. Until that day though it seems premature to enable this.
Closes #12778
<!--
Please make sure you include the following information:
If this work has been discussed elsewhere, please include a link to that
conversation. If it was discussed in an issue, just mention "issue #...".Explain why this change is needed. If the details are in an issue already,
this can be brief.Our development process is documented in the Wasmtime book:
https://docs.wasmtime.dev/contributing-development-process.htmlPlease ensure all communication follows the code of conduct:
https://github.com/bytecodealliance/wasmtime/blob/main/CODE_OF_CONDUCT.md
-->
cfallin submitted PR review:
:+1:
cfallin has enabled auto merge for PR #13118.
cfallin added PR #13118 Remove pointer authentication from fibers to the merge queue.
github-merge-queue[bot] removed PR #13118 Remove pointer authentication from fibers from the merge queue.
alexcrichton updated PR #13118.
alexcrichton has enabled auto merge for PR #13118.
alexcrichton added PR #13118 Remove pointer authentication from fibers to the merge queue.
alexcrichton removed PR #13118 Remove pointer authentication from fibers from the merge queue.
alexcrichton updated PR #13118.
alexcrichton updated PR #13118.
alexcrichton has enabled auto merge for PR #13118.
alexcrichton added PR #13118 Remove pointer authentication from fibers to the merge queue.
github-merge-queue[bot] removed PR #13118 Remove pointer authentication from fibers from the merge queue.
alexcrichton added PR #13118 Remove pointer authentication from fibers to the merge queue.
alexcrichton removed PR #13118 Remove pointer authentication from fibers from the merge queue.
alexcrichton merged PR #13118.
Last updated: May 03 2026 at 22:13 UTC