]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - mm/Kconfig.debug
mm-page_poisonc-enable-page_poisoning-as-a-separate-option-fix
[karo-tx-linux.git] / mm / Kconfig.debug
index 957d3da53dddcd53b72da82e39f77d951db57a66..ddf71d7cb6ba8dc5fc8b4c513dd9a0e5c22badc7 100644 (file)
@@ -16,8 +16,8 @@ config DEBUG_PAGEALLOC
        select PAGE_POISONING if !ARCH_SUPPORTS_DEBUG_PAGEALLOC
        ---help---
          Unmap pages from the kernel linear mapping after free_pages().
-         This results in a large slowdown, but helps to find certain types
-         of memory corruption.
+         Depending on runtime enablement, this results in a small or large
+         slowdown, but helps to find certain types of memory corruption.
 
          For architectures which don't enable ARCH_SUPPORTS_DEBUG_PAGEALLOC,
          fill the pages with poison patterns after free_pages() and verify
@@ -26,5 +26,39 @@ config DEBUG_PAGEALLOC
          that would result in incorrect warnings of memory corruption after
          a resume because free pages are not saved to the suspend image.
 
+         By default this option will have a small overhead, e.g. by not
+         allowing the kernel mapping to be backed by large pages on some
+         architectures. Even bigger overhead comes when the debugging is
+         enabled by DEBUG_PAGEALLOC_ENABLE_DEFAULT or the debug_pagealloc
+         command line parameter.
+
+config DEBUG_PAGEALLOC_ENABLE_DEFAULT
+       bool "Enable debug page memory allocations by default?"
+       default n
+       depends on DEBUG_PAGEALLOC
+       ---help---
+         Enable debug page memory allocations by default? This value
+         can be overridden by debug_pagealloc=off|on.
+
 config PAGE_POISONING
-       bool
+       bool "Poison pages after freeing"
+       select PAGE_EXTENSION
+       select PAGE_POISONING_NO_SANITY if HIBERNATION
+       ---help---
+         Fill the pages with poison patterns after free_pages() and verify
+         the patterns before alloc_pages. The filling of the memory helps
+         reduce the risk of information leaks from freed data. This does
+         have a potential performance impact.
+
+         If unsure, say N
+
+config PAGE_POISONING_NO_SANITY
+       depends on PAGE_POISONING
+       bool "Only poison, don't sanity check"
+       ---help---
+          Skip the sanity checking on alloc, only fill the pages with
+          poison on free. This reduces some of the overhead of the
+          poisoning feature.
+
+          If you are only interested in sanitization, say Y. Otherwise
+          say N.