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