kernel: add kcov code coverage
[linux-2.6-block.git] / lib / Kconfig.debug
index 5a60f45cd9bb253b838fd041d641ff5d864796bf..532d4d52d1df2b4723bccfcc3f786880338a9b67 100644 (file)
@@ -696,6 +696,27 @@ source "lib/Kconfig.kasan"
 
 endmenu # "Memory Debugging"
 
+config ARCH_HAS_KCOV
+       bool
+       help
+         KCOV does not have any arch-specific code, but currently it is enabled
+         only for x86_64. KCOV requires testing on other archs, and most likely
+         disabling of instrumentation for some early boot code.
+
+config KCOV
+       bool "Code coverage for fuzzing"
+       depends on ARCH_HAS_KCOV
+       select DEBUG_FS
+       help
+         KCOV exposes kernel code coverage information in a form suitable
+         for coverage-guided fuzzing (randomized testing).
+
+         If RANDOMIZE_BASE is enabled, PC values will not be stable across
+         different machines and across reboots. If you need stable PC values,
+         disable RANDOMIZE_BASE.
+
+         For more details, see Documentation/kcov.txt.
+
 config DEBUG_SHIRQ
        bool "Debug shared IRQ handlers"
        depends on DEBUG_KERNEL