darling-xnu/san/kasan-blacklist
2023-05-16 21:41:14 -07:00

50 lines
1.2 KiB
Plaintext

# 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