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

Anatoly Trosinenko via All-commits all-commits at lists.llvm.org
Tue May 20 03:44:31 PDT 2025


  Branch: refs/heads/users/atrosinenko/bolt-gs-optional-fpac
  Home:   https://github.com/llvm/llvm-project
  Commit: bc06ae30acb462938120541978c8dd4a0645470b
      https://github.com/llvm/llvm-project/commit/bc06ae30acb462938120541978c8dd4a0645470b
  Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
  Date:   2025-05-20 (Tue, 20 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