Repository navigation
[aadwarf64] Add a character to the augmentation string for RA signing method - #430
Merged
kmclaughlin-arm merged 3 commits intoOct 8, 2026
Merged
Conversation
… method FEAT_PAuth_LR adds non hint-space instructions for signing and authenticating return addresses using PC as an additional diversifier, along with the hint-space PACM instruction. The return address state records whether the value of PC has been used, however this is not sufficient to distinguish whether hint-space instructions were used, e.g. "PACM; PACIASP" or "PACIASPPC". If PACM has a trivial implementation, these sequences may have different results. Adding the 'N' character to the augmentation string indicates that the non hint-space instruction form was used when the signing state includes the PC value as a diversifier. If the mark is absent but PC was used, then the hint-space instruction sequence must be used for authentication. ARM-software#396
smithp35
reviewed
Sep 23, 2026
| the stack space they use. | ||
|
|
||
| 3. The character 'N' indicates that associated frames are using non hint-space | ||
| FEAT_PAuth_LR instructions for return address signing. It is required that a |
Contributor
There was a problem hiding this comment.
I think the "It is required that a single method is used to sign and authenticate a pointer." May be better off with the note. At this stage of the text there isn't enough context to know what the two methods are, and it is the unwinder that needs to use the matching method.
Contributor
Author
There was a problem hiding this comment.
Thanks, I have moved this part to the note below where there is more context.
| 2. The mark on a frame recording that it uses non hint-space instructions | ||
| for return address signing is information which can be used when unwinding. | ||
| If the mark is absent and the PC value was used as a diversifier for | ||
| signing, this indicates that the hint-space PACM instruction was used. |
Contributor
There was a problem hiding this comment.
I think the "It is required that a single method is used to sign and authenticate a pointer." Could be added at the end of the note.
Contributor
|
LGTM |
CarolineConcatto
approved these changes
Oct 8, 2026
Contributor
|
Let me know if you don't have permissions to merge, I can do that for you if needed. |
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.
FEAT_PAuth_LR adds non hint-space instructions for signing and
authenticating return addresses using PC as an additional diversifier,
along with the hint-space PACM instruction.
The return address state records whether the value of PC has been
used, however this is not sufficient to distinguish whether hint-space
instructions were used, e.g.
PACM; PACIASPorPACIASPPC. If PACM hasa trivial implementation, these sequences may have different results.
Adding the
Ncharacter to the augmentation string indicates that thenon hint-space instruction form was used when the signing state includes
the PC value as a diversifier. If the mark is absent but PC was used,
then the hint-space instruction sequence must be used for authentication.
Fixes: #396