linux/lib/Kconfig.ubsan
<<
>>
Prefs
   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
  14          (see: Documentation/dev-tools/ubsan.rst).
  15
  16config UBSAN_SANITIZE_ALL
  17        bool "Enable instrumentation for the entire kernel"
  18        depends on UBSAN
  19        depends on ARCH_HAS_UBSAN_SANITIZE_ALL
  20
  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.
  32
  33config 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.
  41
  42config 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.
  49
  50config 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.
  56