xref: /openbmc/linux/lib/Kconfig.ubsan (revision f3a8b664)
1config ARCH_HAS_UBSAN_SANITIZE_ALL
2	bool
3
4config ARCH_WANTS_UBSAN_NO_NULL
5	def_bool n
6
7config 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
15config 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
32config 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
41config 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.
48