This is an archive of the discontinued LLVM Phabricator instance.

[MSan] Add COMMON_INTERCEPTOR_NOTHING_IS_INITIALIZED
ClosedPublic

Authored by iii on Mar 27 2020, 7:55 PM.

Details

Summary

MSan not implementing COMMON_INTERCEPTOR_NOTHING_IS_INITIALIZED looks
like an omission - this macro makes it possible for those intercepted
functions, which libc needs very early, to work before interceptors are
initialized (i.e. before REAL() is usable).

While currently there are no observable practical problems in this
area, changes in libc or in MSan runtime may provoke them. Therefore,
change MSan to work like ASan and TSan already do - use internal
functions in certain interceptors when initialization is not complete.

Diff Detail

Event Timeline

iii created this revision.Mar 27 2020, 7:55 PM
Herald added a project: Restricted Project. · View Herald TranscriptMar 27 2020, 7:55 PM
Herald added a subscriber: Restricted Project. · View Herald Transcript
eugenis accepted this revision.Mar 27 2020, 8:41 PM

LGTM

This revision is now accepted and ready to land.Mar 27 2020, 8:41 PM
This revision was automatically updated to reflect the committed changes.