[PATCH] D81405: [AArch64] Avoid incompatibility between SLSBLR mitigation and BTI codegen.
Oliver Stannard (Linaro) via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Jun 10 08:44:10 PDT 2020
ostannard accepted this revision.
ostannard added a comment.
This revision is now accepted and ready to land.
LGTM.
I think we could make this conditional based on whether the caller has BTI enabled, because:
- If the caller has BTI enabled, then we correctly use X16 for a BTI callee, or wastefully (but still with correct behaviour) use X16 for a non-BTI callee.
- If the caller has BTI disabled, then it must be in a page with BTI disabled, and so is able to use BR with any register, even if the destination is BTI-protected.
This relies on the caller and thunk being allocated in memory with the same BTI state, which I expect to be a safe assumption.
This patch still looks good by itself, the above would just be an optimisation and can be done later.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D81405/new/
https://reviews.llvm.org/D81405
More information about the llvm-commits
mailing list