1 # SPDX-License-Identifier: GPL-2.0-only 2 config PAGE_EXTENSION 3 bool "Extend memmap on extra space for 4 help 5 Extend memmap on extra space for mor 6 could be used for debugging features 7 field for every page. This extension 8 by not allocating this extra memory 9 configuration. 10 11 config DEBUG_PAGEALLOC 12 bool "Debug page memory allocations" 13 depends on DEBUG_KERNEL 14 depends on !HIBERNATION || ARCH_SUPPOR 15 select PAGE_POISONING if !ARCH_SUPPORT 16 help 17 Unmap pages from the kernel linear m 18 Depending on runtime enablement, thi 19 slowdown, but helps to find certain 20 21 Also, the state of page tracking str 22 pages are being allocated and freed, 23 often happen for same reasons as mem 24 use-after-free). The error reports f 25 with stack traces of last allocation 26 PAGE_OWNER is also selected and enab 27 28 For architectures which don't enable 29 fill the pages with poison patterns 30 the patterns before alloc_pages(). A 31 be enabled in combination with hiber 32 incorrect warnings of memory corrupt 33 pages are not saved to the suspend i 34 35 By default this option will have a s 36 allowing the kernel mapping to be ba 37 architectures. Even bigger overhead 38 enabled by DEBUG_PAGEALLOC_ENABLE_DE 39 command line parameter. 40 41 config DEBUG_PAGEALLOC_ENABLE_DEFAULT 42 bool "Enable debug page memory allocat 43 depends on DEBUG_PAGEALLOC 44 help 45 Enable debug page memory allocations 46 can be overridden by debug_pagealloc 47 48 config SLUB_DEBUG 49 default y 50 bool "Enable SLUB debugging support" i 51 depends on SYSFS && !SLUB_TINY 52 select STACKDEPOT if STACKTRACE_SUPPOR 53 help 54 SLUB has extensive debug support fea 55 result in significant savings in cod 56 will still exist (with SYSFS enabled 57 validation. 58 59 config SLUB_DEBUG_ON 60 bool "SLUB debugging on by default" 61 depends on SLUB_DEBUG 62 select STACKDEPOT_ALWAYS_INIT if STACK 63 default n 64 help 65 Boot with debugging on by default. S 66 the runtime debug capabilities switc 67 equivalent to specifying the "slab_d 68 There is no support for more fine gr 69 possible with slab_debug=xxx. SLUB d 70 off in a kernel built with CONFIG_SL 71 "slab_debug=-". 72 73 config PAGE_OWNER 74 bool "Track page owner" 75 depends on DEBUG_KERNEL && STACKTRACE_ 76 select DEBUG_FS 77 select STACKTRACE 78 select STACKDEPOT 79 select PAGE_EXTENSION 80 help 81 This keeps track of what call chain 82 help to find bare alloc_page(s) leak 83 feature on your build, it is disable 84 "page_owner=on" to boot parameter in 85 a fair amount of memory if enabled. 86 for user-space helper. 87 88 If unsure, say N. 89 90 config PAGE_TABLE_CHECK 91 bool "Check for invalid mappings in us 92 depends on ARCH_SUPPORTS_PAGE_TABLE_CH 93 depends on EXCLUSIVE_SYSTEM_RAM 94 select PAGE_EXTENSION 95 help 96 Check that anonymous page is not bei 97 permissions. Check that anonymous an 98 erroneously shared. Since the checki 99 entries are added and removed to use 100 and double mapping problems are dete 101 102 If unsure say "n". 103 104 config PAGE_TABLE_CHECK_ENFORCED 105 bool "Enforce the page table checking 106 depends on PAGE_TABLE_CHECK 107 help 108 Always enable page table checking. 109 is disabled, and can be optionally e 110 kernel parameter. This config enforc 111 enabled. 112 113 If unsure say "n". 114 115 config PAGE_POISONING 116 bool "Poison pages after freeing" 117 help 118 Fill the pages with poison patterns 119 the patterns before alloc_pages. The 120 reduce the risk of information leaks 121 have a potential performance impact 122 "page_poison=1" kernel boot option. 123 124 Note that "poison" here is not the s 125 for CONFIG_MEMORY_FAILURE. This is s 126 127 If you are only interested in saniti 128 checking the poison pattern on alloc 129 "init_on_free=1" instead of enabling 130 131 If unsure, say N 132 133 config DEBUG_PAGE_REF 134 bool "Enable tracepoint to track down 135 depends on DEBUG_KERNEL 136 depends on TRACEPOINTS 137 help 138 This is a feature to add tracepoint 139 manipulation. This tracking is usefu 140 due to migration failures caused by 141 careful when enabling this feature b 142 kernel code. However the runtime pe 143 nil until the tracepoints are actual 144 145 config DEBUG_RODATA_TEST 146 bool "Testcase for the marking rodata read 147 depends on STRICT_KERNEL_RWX 148 help 149 This option enables a testcase for the s 150 151 config ARCH_HAS_DEBUG_WX 152 bool 153 154 config DEBUG_WX 155 bool "Warn on W+X mappings at boot" 156 depends on ARCH_HAS_DEBUG_WX 157 depends on MMU 158 select PTDUMP_CORE 159 help 160 Generate a warning if any W+X mappin 161 162 This is useful for discovering cases 163 mappings after applying NX, as such 164 165 Look for a message in dmesg output l 166 167 <arch>/mm: Checked W+X mappings: p 168 169 or like this, if the check failed: 170 171 <arch>/mm: Checked W+X mappings: f 172 173 Note that even if the check fails, y 174 still fine, as W+X mappings are not 175 themselves, what they do is that the 176 of other unfixed kernel bugs easier. 177 178 There is no runtime or memory usage 179 once the kernel has booted up - it's 180 181 If in doubt, say "Y". 182 183 config GENERIC_PTDUMP 184 bool 185 186 config PTDUMP_CORE 187 bool 188 189 config PTDUMP_DEBUGFS 190 bool "Export kernel pagetable layout t 191 depends on DEBUG_KERNEL 192 depends on DEBUG_FS 193 depends on GENERIC_PTDUMP 194 select PTDUMP_CORE 195 help 196 Say Y here if you want to show the k 197 debugfs file. This information is on 198 who are working in architecture spec 199 It is probably not a good idea to en 200 kernel. 201 202 If in doubt, say N. 203 204 config HAVE_DEBUG_KMEMLEAK 205 bool 206 207 config DEBUG_KMEMLEAK 208 bool "Kernel memory leak detector" 209 depends on DEBUG_KERNEL && HAVE_DEBUG_ 210 select DEBUG_FS 211 select STACKTRACE if STACKTRACE_SUPPOR 212 select KALLSYMS 213 select CRC32 214 select STACKDEPOT 215 select STACKDEPOT_ALWAYS_INIT if !DEBU 216 help 217 Say Y here if you want to enable the 218 detector. The memory allocation/free 219 similar to the Boehm's conservative 220 difference being that the orphan obj 221 only shown in /sys/kernel/debug/kmem 222 feature will introduce an overhead t 223 allocations. See Documentation/dev-t 224 details. 225 226 Enabling SLUB_DEBUG may increase the 227 due to the slab objects poisoning. 228 229 In order to access the kmemleak file 230 mounted (usually at /sys/kernel/debu 231 232 config DEBUG_KMEMLEAK_MEM_POOL_SIZE 233 int "Kmemleak memory pool size" 234 depends on DEBUG_KMEMLEAK 235 range 200 1000000 236 default 16000 237 help 238 Kmemleak must track all the memory a 239 reporting false positives. Since mem 240 freed before kmemleak is fully initi 241 of metadata objects to track such ca 242 fully initialised, this memory pool 243 if slab allocations fail. 244 245 config DEBUG_KMEMLEAK_DEFAULT_OFF 246 bool "Default kmemleak to off" 247 depends on DEBUG_KMEMLEAK 248 help 249 Say Y here to disable kmemleak by de 250 on the command line via kmemleak=on. 251 252 config DEBUG_KMEMLEAK_AUTO_SCAN 253 bool "Enable kmemleak auto scan thread 254 default y 255 depends on DEBUG_KMEMLEAK 256 help 257 Depending on the cpu, kmemleak scan 258 stall user tasks at times. This opti 259 kmemleak scan at boot up. 260 261 Say N here to disable kmemleak auto 262 scanning. Disabling this option disa 263 memory leaks. 264 265 If unsure, say Y. 266 267 config PER_VMA_LOCK_STATS 268 bool "Statistics for per-vma locks" 269 depends on PER_VMA_LOCK 270 help 271 Say Y here to enable success, retry 272 faults handled under protection of p 273 counters are exposed in /proc/vmstat 274 kernel developers to evaluate effect 275 identify pathological cases. Countin 276 overhead in the page fault path. 277 278 If in doubt, say N.
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.