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