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