Merge tag 'for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford...
[platform/kernel/linux-rpi.git] / lib / Kconfig.ubsan
1 config ARCH_HAS_UBSAN_SANITIZE_ALL
2         bool
3
4 config ARCH_WANTS_UBSAN_NO_NULL
5         def_bool n
6
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
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
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.
29           Enabling this option will get kernel image size increased
30           significantly.
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.
38           Enabling this option on architectures that support unaligned
39           accesses may produce a lot of false positives.
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.