[all-commits] [llvm/llvm-project] 3dd903: [BOLT] Gadget scanner: optionally assume auth trap...

Anatoly Trosinenko via All-commits all-commits at lists.llvm.org
Wed May 14 06:20:45 PDT 2025


  Branch: refs/heads/users/atrosinenko/bolt-gs-optional-fpac
  Home:   https://github.com/llvm/llvm-project
  Commit: 3dd903c3143f03e0aefb26d0349cf746b8169357
      https://github.com/llvm/llvm-project/commit/3dd903c3143f03e0aefb26d0349cf746b8169357
  Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
  Date:   2025-05-14 (Wed, 14 May 2025)

  Changed paths:
    M bolt/lib/Passes/PAuthGadgetScanner.cpp
    M bolt/test/binary-analysis/AArch64/cmdline-args.test
    M bolt/test/binary-analysis/AArch64/gs-pauth-authentication-oracles.s
    M bolt/test/binary-analysis/AArch64/gs-pauth-calls.s
    M bolt/test/binary-analysis/AArch64/gs-pauth-debug-output.s
    M bolt/test/binary-analysis/AArch64/gs-pauth-jump-table.s
    M bolt/test/binary-analysis/AArch64/gs-pauth-signing-oracles.s
    M bolt/test/binary-analysis/AArch64/gs-pauth-tail-calls.s

  Log Message:
  -----------
  [BOLT] Gadget scanner: optionally assume auth traps on failure

On AArch64 it is possible for an auth instruction to either return an
invalid address value on failure (without FEAT_FPAC) or generate an
error (with FEAT_FPAC). It thus may be possible to never emit explicit
pointer checks, if the target CPU is known to support FEAT_FPAC.

This commit implements an --auth-traps-on-failure command line option,
which essentially makes "safe-to-dereference" and "trusted" register
properties identical and disables scanning for authentication oracles
completely.



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