xref: /xnu-8792.81.2/san/memory/kasan-blacklist (revision 19c3b8c28c31cb8130e034cfb5df6bf9ba342d90)
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