[llvm-branch-commits] Add pointer field protection feature. (PR #133538)
Peter Collingbourne via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Wed May 14 22:25:30 PDT 2025
================
@@ -7538,6 +7538,14 @@ static bool IsEligibleForTrivialRelocation(Sema &SemaRef,
if (!SemaRef.IsCXXTriviallyRelocatableType(Field->getType()))
return false;
}
+
+ // FIXME: PFP should not affect trivial relocatability, instead it should
+ // affect the implementation of std::trivially_relocate. See:
+ // https://discourse.llvm.org/t/rfc-structure-protection-a-family-of-uaf-mitigation-techniques/85555/16?u=pcc
+ if (!SemaRef.Context.arePFPFieldsTriviallyRelocatable(D) &&
----------------
pcc wrote:
Yes, that does look like the right place for now until we have `std::trivially_relocate` fully implemented. I see there is already a call to `BaseElementType.hasAddressDiscriminatedPointerAuth()` in that function.
https://github.com/llvm/llvm-project/pull/133538
More information about the llvm-branch-commits
mailing list