|
@@ -114,6 +114,16 @@ config KERNEL_UBSAN_ALIGNMENT
|
|
Enabling this option on architectures that support unaligned
|
|
Enabling this option on architectures that support unaligned
|
|
accesses may produce a lot of false positives.
|
|
accesses may produce a lot of false positives.
|
|
|
|
|
|
|
|
+config KERNEL_UBSAN_BOUNDS
|
|
|
|
+ bool "Perform array index bounds checking"
|
|
|
|
+ depends on KERNEL_UBSAN
|
|
|
|
+ help
|
|
|
|
+ This option enables detection of directly indexed out of bounds array
|
|
|
|
+ accesses, where the array size is known at compile time. Note that
|
|
|
|
+ this does not protect array overflows via bad calls to the
|
|
|
|
+ {str,mem}*cpy() family of functions (that is addressed by
|
|
|
|
+ FORTIFY_SOURCE).
|
|
|
|
+
|
|
config KERNEL_UBSAN_NULL
|
|
config KERNEL_UBSAN_NULL
|
|
bool "Enable checking of null pointers"
|
|
bool "Enable checking of null pointers"
|
|
depends on KERNEL_UBSAN
|
|
depends on KERNEL_UBSAN
|
|
@@ -121,6 +131,19 @@ config KERNEL_UBSAN_NULL
|
|
This option enables detection of memory accesses via a
|
|
This option enables detection of memory accesses via a
|
|
null pointer.
|
|
null pointer.
|
|
|
|
|
|
|
|
+config KERNEL_UBSAN_TRAP
|
|
|
|
+ bool "On Sanitizer warnings, abort the running kernel code"
|
|
|
|
+ depends on KERNEL_UBSAN
|
|
|
|
+ help
|
|
|
|
+ Building kernels with Sanitizer features enabled tends to grow the
|
|
|
|
+ kernel size by around 5%, due to adding all the debugging text on
|
|
|
|
+ failure paths. To avoid this, Sanitizer instrumentation can just
|
|
|
|
+ issue a trap. This reduces the kernel size overhead but turns all
|
|
|
|
+ warnings (including potentially harmless conditions) into full
|
|
|
|
+ exceptions that abort the running kernel code (regardless of context,
|
|
|
|
+ locks held, etc), which may destabilize the system. For some system
|
|
|
|
+ builders this is an acceptable trade-off.
|
|
|
|
+
|
|
config KERNEL_KASAN
|
|
config KERNEL_KASAN
|
|
bool "Compile the kernel with KASan: runtime memory debugger"
|
|
bool "Compile the kernel with KASan: runtime memory debugger"
|
|
select KERNEL_SLUB_DEBUG
|
|
select KERNEL_SLUB_DEBUG
|