base: fix order of OF initialization
[linux-2.6/btrfs-unstable.git] / lib / Kconfig.ubsan
blob19d42ea75ec225d385734e5212680df0ef9609c6
1 config ARCH_HAS_UBSAN_SANITIZE_ALL
2         bool
4 config ARCH_WANTS_UBSAN_NO_NULL
5         def_bool n
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
14           (see: Documentation/dev-tools/ubsan.rst).
16 config UBSAN_SANITIZE_ALL
17         bool "Enable instrumentation for the entire kernel"
18         depends on UBSAN
19         depends on ARCH_HAS_UBSAN_SANITIZE_ALL
21         # We build with -Wno-maybe-uninitilzed, but we still want to
22         # use -Wmaybe-uninitilized in allmodconfig builds.
23         # So dependsy bellow used to disable this option in allmodconfig
24         depends on !COMPILE_TEST
25         default y
26         help
27           This option activates instrumentation for the entire kernel.
28           If you don't enable this option, you have to explicitly specify
29           UBSAN_SANITIZE := y for the files/directories you want to check for UB.
30           Enabling this option will get kernel image size increased
31           significantly.
33 config UBSAN_ALIGNMENT
34         bool "Enable checking of pointers alignment"
35         depends on UBSAN
36         default y if !HAVE_EFFICIENT_UNALIGNED_ACCESS
37         help
38           This option enables detection of unaligned memory accesses.
39           Enabling this option on architectures that support unaligned
40           accesses may produce a lot of false positives.
42 config UBSAN_NULL
43         bool "Enable checking of null pointers"
44         depends on UBSAN
45         default y if !ARCH_WANTS_UBSAN_NO_NULL
46         help
47           This option enables detection of memory accesses via a
48           null pointer.
50 config TEST_UBSAN
51         tristate "Module for testing for undefined behavior detection"
52         depends on m && UBSAN
53         help
54           This is a test module for UBSAN.
55           It triggers various undefined behavior, and detect it.