Page MenuHomeFreeBSD

rtld-elf: Use clear pointer provenance when updating DTV pointer
ClosedPublic

Authored by jrtc27 on May 7 2025, 3:00 AM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Aug 18, 10:33 PM
Unknown Object (File)
Thu, Aug 14, 10:31 PM
Unknown Object (File)
Tue, Aug 12, 8:40 AM
Unknown Object (File)
Sun, Aug 10, 4:45 PM
Unknown Object (File)
Mon, Aug 4, 1:32 AM
Unknown Object (File)
Thu, Jul 24, 6:20 AM
Unknown Object (File)
Jul 19 2025, 5:48 PM
Unknown Object (File)
Jul 18 2025, 5:47 AM
Subscribers

Details

Summary

On traditional architectures where uintptr_t is just a plain integer,
there is no provenance from the order of operations. However, on CHERI
there is even for uintptr_t, and in future this code will use actual
pointer types anyway, where the provenance does technically matter even
for non-CHERI. Commute and associate the operands appropriately to
ensure the provenance is for the new allocation, not the old one.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 63981
Build 60865: arc lint + arc unit