This is an archive of the discontinued LLVM Phabricator instance.

[LSAN] Mask out tags from pointers on ARM in MaybeUserPointer heuristic
ClosedPublic

Authored by kstoimenov on Feb 17 2023, 4:04 PM.

Details

Summary

This caused false positives because the existing logic was not taking into account that pointers could have a tag in them.

Diff Detail

Event Timeline

kstoimenov created this revision.Feb 17 2023, 4:04 PM
Herald added a project: Restricted Project. · View Herald TranscriptFeb 17 2023, 4:04 PM
kstoimenov requested review of this revision.Feb 17 2023, 4:04 PM
Herald added a project: Restricted Project. · View Herald TranscriptFeb 17 2023, 4:04 PM
Herald added a subscriber: Restricted Project. · View Herald Transcript
kstoimenov retitled this revision from [LSAN] Mask out tags from pointers on ARM in MaybeUserPointer euristic. to [LSAN] Mask out tags from pointers on ARM in MaybeUserPointer heuristic.Feb 17 2023, 4:06 PM
kstoimenov edited the summary of this revision. (Show Details)
kstoimenov added a reviewer: vitalybuka.
vitalybuka accepted this revision.Feb 17 2023, 7:09 PM
vitalybuka added inline comments.
compiler-rt/lib/lsan/lsan_common.cpp
281–283

This way is shorter: compiler will optimize to the same code https://godbolt.org/z/YKcPP1YGT
Keep what ever version you prefer.

This revision is now accepted and ready to land.Feb 17 2023, 7:09 PM
kstoimenov edited the summary of this revision. (Show Details)

Updated constexpr.

kstoimenov marked an inline comment as done.Feb 17 2023, 7:15 PM
kstoimenov edited the summary of this revision. (Show Details)
This revision was landed with ongoing or failed builds.Feb 17 2023, 7:38 PM
This revision was automatically updated to reflect the committed changes.