1# This file declares the list of source files that should be exempt from 2# AddressSanitizer instrumentation. Usually, this is because a file is used by 3# the AddressSanitizer runtime itself, or because the code executes before 4# the runtime has been initialized. 5 6[.*] 7 8# Blanket ignore non-sanitized functions 9fun:__nosan_* 10 11# Try really hard to avoid panicing while debugging 12src:./osfmk/kdp/* 13src:./osfmk/kern/debug.c 14 15[kernel-hwaddress|address] 16 17# Exclude linker sets 18type:struct linker_set_entry 19type:linker_set_entry 20type:struct startup_entry 21type:startup_entry 22type:struct kalloc_type_view 23 24# Exclude per-cpu data structures the assembly accesses 25type:vm_statistics64 26type:struct vm_statistics64 27type:vm_statistics64_data_t 28type:struct processor 29type:processor 30 31# Exclude KASan itself 32src:./san/memory/kasan.c 33src:./san/memory/kasan-fakestack.c 34src:./san/memory/kasan-x86_64.c 35src:./san/memory/kasan-memintrinsics.c 36src:./san/memory/kasan_dynamic_blacklist.c 37src:./san/memory/kasan-classic.c 38src:./san/memory/kasan-tbi.c 39src:./san/memory/kasan-helper.c 40src:./san/memory/kasan-report.c 41 42# Exclude other sanitizers 43src:./san/coverage/kcov.c 44src:./san/coverage/kcov_ksancov.c 45src:./san/coverage/kcov_stksz.c 46 47# Exclude dtrace function that does weird stack manipulations 48fun:fbt_perfCallback 49 50# Exclude leak detection code that reads all memory 51fun:_ZL18IOTrackingLeakScanPv 52 53# Exclude KASAN dependencies 54# XXX: could this be relaxed since fakestack is reentrant? 55src:./osfmk/kern/zalloc.c 56 57