This is an archive of the discontinued LLVM Phabricator instance.

AArch64: Don't use RETA[AB] when ShadowCallStack is enabled.
ClosedPublic

Authored by pcc on Sep 29 2022, 6:31 PM.

Details

Summary

When returning from a function with both SCS and PAC-RET enabled, we need to
authenticate the return address from the stack and then load from the SCS,
but this was happening in the reverse order when RETA[AB] were being used.
Fix it by disabling the use of RETA[AB] when SCS is enabled.

Fixes pr58072.

Diff Detail

Event Timeline

pcc created this revision.Sep 29 2022, 6:31 PM
Herald added a project: Restricted Project. · View Herald TranscriptSep 29 2022, 6:31 PM
pcc requested review of this revision.Sep 29 2022, 6:31 PM
Herald added a project: Restricted Project. · View Herald TranscriptSep 29 2022, 6:31 PM
danielkiss accepted this revision.Sep 30 2022, 1:07 AM

LGTM, Thanks!

This revision is now accepted and ready to land.Sep 30 2022, 1:07 AM
This revision was automatically updated to reflect the committed changes.