# The rules in this file are only applied at compile time. If you can modify the
# source in question, consider function attributes to disable instrumentation.
#
# Please think twice before you add or remove these rules.

################################################################################
# Sandbox executes some of its code before the ASan RTL gets initialized and
# maps shadow memory.  As a result, instrmented code tries to access unavailable
# shadow memory and faults.
# Temporarily disable instrumentation of that code until we come up with
# a better long-term solution.  See http://crbug.com/382867 for details.
fun:*TargetNtSetInformationThread@20
fun:*TargetNtOpenThreadToken@20
fun:*TargetNtOpenThreadTokenEx@24
fun:*TargetNtMapViewOfSection@44
fun:*AutoProtectMemory*sandbox*
fun:*EatResolverThunk*sandbox*
fun:*InterceptionAgent*sandbox*
fun:*ResolverThunk*sandbox*
fun:*Target*SandboxFactory*sandbox*
fun:*ProcessState*sandbox*

# These functions run pre-binding in the 64 bit build, when the shadow is not
# available, and thus can't be instrumented.
fun:*InternalThunk*
fun:*TargetNtCreateFile64
fun:*TargetNtMapViewOfSection*
fun:*TargetNtOpenFile64
fun:*TargetNtOpenProcessToken64
fun:*TargetNtOpenThreadToken*
fun:*TargetNtQueryAttributesFile64
fun:*TargetNtSetInformationThread
fun:*TargetNtSetInformationThread64
fun:*TargetNtUnmapViewOfSection64

src:*filesystem_interception.cc
src:*interceptors_64.cc
src:*pe_image.cc
src:*pe_image.h
src:*process_thread_interception.cc
src:*registry_interception.cc
src:*resolver_32.cc
src:*sandbox_nt_util.cc
src:*sync_interception.cc
################################################################################
