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

Add landing pad instructions for IBT (amd64) and BTI (arm64) #81

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

VlkrS
Copy link

@VlkrS VlkrS commented Sep 19, 2023

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-

@nagisa
Copy link
Member

nagisa commented Sep 21, 2023

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)

@VlkrS
Copy link
Author

VlkrS commented Oct 2, 2023

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...

@nagisa
Copy link
Member

nagisa commented Feb 19, 2024

Would QEMU be able to emulate these capabilities?

EDIT: sorry for a late reply, your response fell through the cracks in my notifications.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants