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