diff options
Diffstat (limited to 'mm/Kconfig.debug')
-rw-r--r-- | mm/Kconfig.debug | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/mm/Kconfig.debug b/mm/Kconfig.debug new file mode 100644 index 00000000..4b244325 --- /dev/null +++ b/mm/Kconfig.debug @@ -0,0 +1,29 @@ +config DEBUG_PAGEALLOC + bool "Debug page memory allocations" + depends on DEBUG_KERNEL + depends on !HIBERNATION || ARCH_SUPPORTS_DEBUG_PAGEALLOC && !PPC && !SPARC + depends on !KMEMCHECK + select PAGE_POISONING if !ARCH_SUPPORTS_DEBUG_PAGEALLOC + select PAGE_GUARD 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. + + For architectures which don't enable ARCH_SUPPORTS_DEBUG_PAGEALLOC, + fill the pages with poison patterns after free_pages() and verify + the patterns before alloc_pages(). Additionally, + this option cannot be enabled in combination with hibernation as + that would result in incorrect warnings of memory corruption after + a resume because free pages are not saved to the suspend image. + +config WANT_PAGE_DEBUG_FLAGS + bool + +config PAGE_POISONING + bool + select WANT_PAGE_DEBUG_FLAGS + +config PAGE_GUARD + bool + select WANT_PAGE_DEBUG_FLAGS |