xref: /xnu-10063.121.3/san/memory/kasan-blacklist (revision 2c2f96dc2b9a4408a43d3150ae9c105355ca3daa)
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