Commit | Line | Data |
---|---|---|
c6d30853 AR |
1 | config ARCH_HAS_UBSAN_SANITIZE_ALL |
2 | bool | |
3 | ||
725c4d22 CB |
4 | config ARCH_WANTS_UBSAN_NO_NULL |
5 | def_bool n | |
6 | ||
c6d30853 AR |
7 | config UBSAN |
8 | bool "Undefined behaviour sanity checker" | |
9 | help | |
10 | This option enables undefined behaviour sanity checker | |
11 | Compile-time instrumentation is used to detect various undefined | |
12 | behaviours in runtime. Various types of checks may be enabled | |
13 | via boot parameter ubsan_handle (see: Documentation/ubsan.txt). | |
14 | ||
15 | config UBSAN_SANITIZE_ALL | |
16 | bool "Enable instrumentation for the entire kernel" | |
17 | depends on UBSAN | |
18 | depends on ARCH_HAS_UBSAN_SANITIZE_ALL | |
dde5cf39 AR |
19 | |
20 | # We build with -Wno-maybe-uninitilzed, but we still want to | |
21 | # use -Wmaybe-uninitilized in allmodconfig builds. | |
22 | # So dependsy bellow used to disable this option in allmodconfig | |
23 | depends on !COMPILE_TEST | |
c6d30853 AR |
24 | default y |
25 | help | |
26 | This option activates instrumentation for the entire kernel. | |
27 | If you don't enable this option, you have to explicitly specify | |
28 | UBSAN_SANITIZE := y for the files/directories you want to check for UB. | |
7707535a YS |
29 | Enabling this option will get kernel image size increased |
30 | significantly. | |
c6d30853 AR |
31 | |
32 | config UBSAN_ALIGNMENT | |
33 | bool "Enable checking of pointers alignment" | |
34 | depends on UBSAN | |
35 | default y if !HAVE_EFFICIENT_UNALIGNED_ACCESS | |
36 | help | |
37 | This option enables detection of unaligned memory accesses. | |
7707535a | 38 | Enabling this option on architectures that support unaligned |
c6d30853 | 39 | accesses may produce a lot of false positives. |
725c4d22 CB |
40 | |
41 | config UBSAN_NULL | |
42 | bool "Enable checking of null pointers" | |
43 | depends on UBSAN | |
44 | default y if !ARCH_WANTS_UBSAN_NO_NULL | |
45 | help | |
46 | This option enables detection of memory accesses via a | |
47 | null pointer. |