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