kasan-blacklist   [plain text]


# This file declares the list of source files that should be exempt from
# AddressSanitizer instrumentation. Usually, this is because a file is used by
# the AddressSanitizer runtime itself, or because the code executes before
# the runtime has been initialized.

[.*]

# Blanket ignore non-sanitized functions
fun:__nosan_*

# Try really hard to avoid panicing while debugging
src:./osfmk/kdp/*
src:./osfmk/kern/debug.c

[address]

# Exclude linker sets
type:struct linker_set_entry
type:linker_set_entry
type:struct startup_entry
type:startup_entry

# Exclude per-cpu data structures the assembly accesses
type:vm_statistics64
type:struct vm_statistics64
type:vm_statistics64_data_t
type:struct processor
type:processor

# Exclude KASan itself
src:./san/kasan.c
src:./san/kasan-fakestack.c
src:./san/kasan-x86_64.c
src:./san/kasan-memintrinsics.c
src:./san/kasan_dynamic_blacklist.c

# Exclude other sanitizers
src:./san/ksancov.c

# Exclude dtrace function that does weird stack manipulations
fun:fbt_perfCallback

# Exclude leak detection code that reads all memory
fun:_ZL18IOTrackingLeakScanPv

# Exclude KASAN dependencies
# XXX: could this be relaxed since fakestack is reentrant?
src:./osfmk/kern/zalloc.c
src:./osfmk/kern/zcache.c