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 23type:struct kernel_brk_descriptor 24type:kernel_brk_descriptor 25 26# Exclude per-cpu data structures the assembly accesses 27type:vm_statistics64 28type:struct vm_statistics64 29type:vm_statistics64_data_t 30type:struct processor 31type:processor 32 33# Exclude KASan itself 34src:./san/memory/kasan.c 35src:./san/memory/kasan-fakestack.c 36src:./san/memory/kasan-x86_64.c 37src:./san/memory/kasan-memintrinsics.c 38src:./san/memory/kasan_dynamic_blacklist.c 39src:./san/memory/kasan-classic.c 40src:./san/memory/kasan-tbi.c 41src:./san/memory/kasan-helper.c 42src:./san/memory/kasan-report.c 43 44# Exclude other sanitizers 45src:./san/coverage/kcov.c 46src:./san/coverage/kcov_ksancov.c 47src:./san/coverage/kcov_stksz.c 48 49# Exclude dtrace function that does weird stack manipulations 50fun:fbt_perfCallback 51 52# Exclude leak detection code that reads all memory 53fun:_ZL18IOTrackingLeakScanPv 54 55# Exclude KASAN dependencies 56src:./osfmk/kern/btlog.c 57# XXX: could this be relaxed since fakestack is reentrant? 58src:./osfmk/kern/zalloc.c 59