[libunwind] [PAC][libunwind][AArch64] Keep LR signed when stored in context struct (PR #171717)
Oliver Hunt via cfe-commits
cfe-commits at lists.llvm.org
Mon Jan 5 21:33:25 PST 2026
https://github.com/ojhunt requested changes to this pull request.
There's a lot that needs to be addressed here
* I believe the _LIBUNWIND_CONTEXT_SIZE and CURSOR_SIZE are size stable ABI objects - I also did just see it has been changed earlier so I now have to work out if that's a real abi break
* The use of assembly rather than intrinsics is not reasonable - the modified functions are now much harder to read and reason about
* Following from the use of assembly is the use of hints instead of just using the correct mnemonics unless hints are absolutely unavoidable
* The logic for choosing signing behavior is based on untrusted information and subsequently allows for a reuse attack by modifying the context info.
Because so much has been replaced by assembly I cannot tell just how bad the last point is - it could be worse than simple reuse.
https://github.com/llvm/llvm-project/pull/171717
More information about the cfe-commits
mailing list