kernel: add missing UBSAN config symbols
[openwrt/staging/thess.git] / config / Config-kernel.in
index 2243e3e5bc70d6d12bcc31267c834571e3dbb644..902e211ea1ed435d1544de30bb276840b6f2db2b 100644 (file)
@@ -114,6 +114,16 @@ config KERNEL_UBSAN_ALIGNMENT
          Enabling this option on architectures that support unaligned
          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
        bool "Enable checking of null pointers"
        depends on KERNEL_UBSAN
@@ -121,6 +131,19 @@ config KERNEL_UBSAN_NULL
          This option enables detection of memory accesses via a
          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
        bool "Compile the kernel with KASan: runtime memory debugger"
        select KERNEL_SLUB_DEBUG