[all-commits] [llvm/llvm-project] 681039: [runtimes][PAC] Harden unwinding when possible (#1...
Oliver Hunt via All-commits
all-commits at lists.llvm.org
Fri Jun 6 19:19:43 PDT 2025
Branch: refs/heads/users/ojhunt/pointer-authenticated-unwinding
Home: https://github.com/llvm/llvm-project
Commit: 68103962b254565fdfad069c350af90ede7109b4
https://github.com/llvm/llvm-project/commit/68103962b254565fdfad069c350af90ede7109b4
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