This is an archive of the discontinued LLVM Phabricator instance.

sanmd: refine selection of functions for UAR checking
ClosedPublic

Authored by dvyukov on Jan 20 2023, 1:31 AM.

Details

Summary

There are no intrinsic functions that leak arguments.
If the called function does not return, the current function
does not return as well, so no possibility of use-after-return.
Sanitizer function also don't leak or don't return.
It's safe to both pass pointers to local variables to them
and to tail-call them.

Diff Detail

Event Timeline

dvyukov created this revision.Jan 20 2023, 1:31 AM
Herald added a project: Restricted Project. · View Herald TranscriptJan 20 2023, 1:31 AM
dvyukov requested review of this revision.Jan 20 2023, 1:31 AM
Herald added projects: Restricted Project, Restricted Project. · View Herald TranscriptJan 20 2023, 1:31 AM
Herald added subscribers: llvm-commits, Restricted Project. · View Herald Transcript
melver accepted this revision.Jan 20 2023, 6:35 AM
This revision is now accepted and ready to land.Jan 20 2023, 6:35 AM
This revision was landed with ongoing or failed builds.Jan 20 2023, 7:22 AM
This revision was automatically updated to reflect the committed changes.

uar.cpp is failing when specifying -DCOMPILER_RT_BUILD_SANITIZERS=OFF because asan libs aren't built.

going to revert, feel free to reland when -DCOMPILER_RT_BUILD_SANITIZERS=OFF handling is fixed

dvyukov reopened this revision.Jan 21 2023, 12:39 AM
This revision is now accepted and ready to land.Jan 21 2023, 12:39 AM
dvyukov updated this revision to Diff 491047.Jan 21 2023, 12:49 AM

run metadata tests only if COMPILER_RT_BUILD_SANITIZERS=ON

dvyukov updated this revision to Diff 491048.Jan 21 2023, 12:50 AM

also don't run on OpenBSD

This revision was landed with ongoing or failed builds.Jan 21 2023, 12:51 AM
This revision was automatically updated to reflect the committed changes.