[all-commits] [llvm/llvm-project] 3c57ed: [runtimes][PAC] Harden unwinding when possible (#1...

Oliver Hunt via All-commits all-commits at lists.llvm.org
Mon Jul 28 19:25:26 PDT 2025


  Branch: refs/heads/users/ojhunt/pointer-authenticated-unwinding
  Home:   https://github.com/llvm/llvm-project
  Commit: 3c57edcebc14acc0f00565a9a96885c9ec2d849d
      https://github.com/llvm/llvm-project/commit/3c57edcebc14acc0f00565a9a96885c9ec2d849d
  Author: Oliver Hunt <oliver at apple.com>
  Date:   2025-07-28 (Mon, 28 Jul 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/CompactUnwinder.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 does introduce ABI linkage between libcxx, libcxxabi, and
libunwind but those are in principle separate from the OS itself
so we've kept the schema definitions in the library specific headers
rather than ptrauth.h



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