Add landing pad instructions for IBT (amd64) and BTI (arm64)#81
Open
VlkrS wants to merge 4 commits intorust-lang:masterfrom
Open
Add landing pad instructions for IBT (amd64) and BTI (arm64)#81VlkrS wants to merge 4 commits intorust-lang:masterfrom
VlkrS wants to merge 4 commits intorust-lang:masterfrom
Conversation
Member
|
Thank you for the contribution! At the very least this change would need CI to be set up such that these absence of these changes would result in a failure (ignoring all those other tests failing for unrelated reasons) |
Author
|
That's tricky in so far as the CI environment would need to be capable of BTI/IBT and it would need to run with an OS that enforces it... |
Member
|
Would QEMU be able to emulate these capabilities? EDIT: sorry for a late reply, your response fell through the cracks in my notifications. |
Author
|
I don't think QEMU can emulate these capabilities, but the referenced docs clearly state that the worst that can happen is that you're adding NOPs. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Applications using psm on systems which enforce Indirect Branch Tracking [1] on amd64 or Branch Target Identification [2] on arm64 currently crash.
This PR adds the necessary landing pad instructions for both platforms.
[1] https://edc.intel.com/content/www/us/en/design/ipla/software-development-platforms/client/platforms/alder-lake-desktop/12th-generation-intel-core-processors-datasheet-volume-1-of-2/indirect-branch-tracking/
[2] https://developer.arm.com/documentation/ddi0596/2021-12/Base-Instructions/BTI--Branch-Target-Identification-