[all-commits] [llvm/llvm-project] 637245: [runtimes][PAC] Harden unwinding when possible (#1...
Oliver Hunt via All-commits
all-commits at lists.llvm.org
Fri Jun 6 19:23:11 PDT 2025
Branch: refs/heads/users/ojhunt/pointer-authenticated-unwinding
Home: https://github.com/llvm/llvm-project
Commit: 637245f9be6ed0163c9129d27a572f153b6f8523
https://github.com/llvm/llvm-project/commit/637245f9be6ed0163c9129d27a572f153b6f8523
Author: Oliver Hunt <oliver at apple.com>
Date: 2025-06-06 (Fri, 06 Jun 2025)
Changed paths:
M compiler-rt/lib/builtins/gcc_personality_v0.c
M compiler-rt/lib/profile/InstrProfilingValue.c
M libcxxabi/include/__cxxabi_config.h
M libcxxabi/src/cxa_exception.h
M libcxxabi/src/cxa_personality.cpp
M libunwind/include/libunwind.h
M libunwind/src/AddressSpace.hpp
M libunwind/src/DwarfInstructions.hpp
M libunwind/src/DwarfParser.hpp
M libunwind/src/Registers.hpp
M libunwind/src/UnwindCursor.hpp
M libunwind/src/UnwindLevel1.c
M libunwind/src/UnwindRegistersRestore.S
M libunwind/src/UnwindRegistersSave.S
M libunwind/src/libunwind.cpp
Log Message:
-----------
[runtimes][PAC] Harden unwinding when possible (#138571)
This hardens the unwinding logic and datastructures on systems
that support pointer authentication.
The approach taken to hardening is to harden the schemas of as many
high value fields in the myriad structs as possible, and then also
explicitly qualify local variables referencing privileged or security
critical values.
This ABI is exposed to the personality functions, and so updating to
conform to that is a mandatory change, but to reduce the risk of
oracles, the adoption also hardened the locals and datastructures
in compiler-rt and libcxxabi.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list