~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/lib/Kconfig.debug

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /lib/Kconfig.debug (Version linux-6.11.5) and /lib/Kconfig.debug (Version unix-v6-master)


  1 # SPDX-License-Identifier: GPL-2.0-only           
  2 menu "Kernel hacking"                             
  3                                                   
  4 menu "printk and dmesg options"                   
  5                                                   
  6 config PRINTK_TIME                                
  7         bool "Show timing information on print    
  8         depends on PRINTK                         
  9         help                                      
 10           Selecting this option causes time st    
 11           messages to be added to the output o    
 12           call and at the console.                
 13                                                   
 14           The timestamp is always recorded int    
 15           to /dev/kmsg. This flag just specifi    
 16           be included, not that the timestamp     
 17                                                   
 18           The behavior is also controlled by t    
 19           parameter printk.time=1. See Documen    
 20                                                   
 21 config PRINTK_CALLER                              
 22         bool "Show caller information on print    
 23         depends on PRINTK                         
 24         help                                      
 25           Selecting this option causes printk(    
 26           in task context) or a caller "proces    
 27           to every message.                       
 28                                                   
 29           This option is intended for environm    
 30           concurrently call printk() for many     
 31           interpret without knowing where thes    
 32           line which was divided into multiple    
 33                                                   
 34           Since toggling after boot makes the     
 35           no option to enable/disable at the k    
 36           sysfs interface.                        
 37                                                   
 38 config STACKTRACE_BUILD_ID                        
 39         bool "Show build ID information in sta    
 40         depends on PRINTK                         
 41         help                                      
 42           Selecting this option adds build ID     
 43           stacktraces printed with the printk     
 44                                                   
 45           This option is intended for distros     
 46           accessible but can be downloaded giv    
 47           kernel module where the function is     
 48                                                   
 49 config CONSOLE_LOGLEVEL_DEFAULT                   
 50         int "Default console loglevel (1-15)"     
 51         range 1 15                                
 52         default "7"                               
 53         help                                      
 54           Default loglevel to determine what w    
 55                                                   
 56           Setting a default here is equivalent    
 57           the kernel bootargs. loglevel=<x> co    
 58           value is specified here as well.        
 59                                                   
 60           Note: This does not affect the log l    
 61           usage in the kernel. That is control    
 62           option.                                 
 63                                                   
 64 config CONSOLE_LOGLEVEL_QUIET                     
 65         int "quiet console loglevel (1-15)"       
 66         range 1 15                                
 67         default "4"                               
 68         help                                      
 69           loglevel to use when "quiet" is pass    
 70                                                   
 71           When "quiet" is passed on the kernel    
 72           will be used as the loglevel. IOW pa    
 73           equivalent of passing "loglevel=<CON    
 74                                                   
 75 config MESSAGE_LOGLEVEL_DEFAULT                   
 76         int "Default message log level (1-7)"     
 77         range 1 7                                 
 78         default "4"                               
 79         help                                      
 80           Default log level for printk stateme    
 81                                                   
 82           This was hard-coded to KERN_WARNING     
 83           that are auditing their logs closely    
 84           priority.                               
 85                                                   
 86           Note: This does not affect what mess    
 87           by default. To change that, use logl    
 88           or pick a different CONSOLE_LOGLEVEL    
 89                                                   
 90 config BOOT_PRINTK_DELAY                          
 91         bool "Delay each boot printk message b    
 92         depends on DEBUG_KERNEL && PRINTK && G    
 93         help                                      
 94           This build option allows you to read    
 95           by inserting a short delay after eac    
 96           specified in milliseconds on the ker    
 97           using "boot_delay=N".                   
 98                                                   
 99           It is likely that you would also nee    
100           the "loops per jiffie" value.           
101           See a previous boot log for the "lpj    
102           system, and then set "lpj=M" before     
103           NOTE:  Using this option may adverse    
104           I.e., processors other than the firs    
105           BOOT_PRINTK_DELAY also may cause LOC    
106           what it believes to be lockup condit    
107                                                   
108 config DYNAMIC_DEBUG                              
109         bool "Enable dynamic printk() support"    
110         default n                                 
111         depends on PRINTK                         
112         depends on (DEBUG_FS || PROC_FS)          
113         select DYNAMIC_DEBUG_CORE                 
114         help                                      
115                                                   
116           Compiles debug level messages into t    
117           otherwise be available at runtime. T    
118           enabled/disabled based on various le    
119           function, module, format string, and    
120           implicitly compiles in all pr_debug(    
121           enlarges the kernel text size by abo    
122                                                   
123           If a source file is compiled with DE    
124           pr_debug() calls in it are enabled b    
125           disabled at runtime as below.  Note     
126           turned on by many CONFIG_*DEBUG* opt    
127                                                   
128           Usage:                                  
129                                                   
130           Dynamic debugging is controlled via     
131           which is contained in the 'debugfs'     
132           Thus, the debugfs or procfs filesyst    
133           making use of this feature.             
134           We refer the control file as: <debug    
135           file contains a list of the debug st    
136           format for each line of the file is:    
137                                                   
138                 filename:lineno [module]functi    
139                                                   
140           filename : source file of the debug     
141           lineno : line number of the debug st    
142           module : module that contains the de    
143           function : function that contains th    
144           flags : '=p' means the line is turne    
145           format : the format used for the deb    
146                                                   
147           From a live system:                     
148                                                   
149                 nullarbor:~ # cat <debugfs>/dy    
150                 # filename:lineno [module]func    
151                 fs/aio.c:222 [aio]__put_ioctx     
152                 fs/aio.c:248 [aio]ioctx_alloc     
153                 fs/aio.c:1770 [aio]sys_io_canc    
154                                                   
155           Example usage:                          
156                                                   
157                 // enable the message at line     
158                 nullarbor:~ # echo -n 'file sv    
159                                                   
160                                                   
161                 // enable all the messages in     
162                 nullarbor:~ # echo -n 'file sv    
163                                                   
164                                                   
165                 // enable all the messages in     
166                 nullarbor:~ # echo -n 'module     
167                                                   
168                                                   
169                 // enable all 12 messages in t    
170                 nullarbor:~ # echo -n 'func sv    
171                                                   
172                                                   
173                 // disable all 12 messages in     
174                 nullarbor:~ # echo -n 'func sv    
175                                                   
176                                                   
177           See Documentation/admin-guide/dynami    
178           information.                            
179                                                   
180 config DYNAMIC_DEBUG_CORE                         
181         bool "Enable core function of dynamic     
182         depends on PRINTK                         
183         depends on (DEBUG_FS || PROC_FS)          
184         help                                      
185           Enable core functional support of dy    
186           when you want to tie dynamic debug t    
187           DYNAMIC_DEBUG_MODULE defined for eac    
188           the case of embedded system where th    
189           sensitive for people.                   
190                                                   
191 config SYMBOLIC_ERRNAME                           
192         bool "Support symbolic error names in     
193         default y if PRINTK                       
194         help                                      
195           If you say Y here, the kernel's prin    
196           be able to print symbolic error name    
197           of the number 28. It makes the kerne    
198           (about 3KB), but can make the kernel    
199                                                   
200 config DEBUG_BUGVERBOSE                           
201         bool "Verbose BUG() reporting (adds 70    
202         depends on BUG && (GENERIC_BUG || HAVE    
203         default y                                 
204         help                                      
205           Say Y here to make BUG() panics outp    
206           of the BUG call as well as the EIP a    
207           debugging but costs about 70-100K of    
208                                                   
209 endmenu # "printk and dmesg options"              
210                                                   
211 config DEBUG_KERNEL                               
212         bool "Kernel debugging"                   
213         help                                      
214           Say Y here if you are developing dri    
215           identify kernel problems.               
216                                                   
217 config DEBUG_MISC                                 
218         bool "Miscellaneous debug code"           
219         default DEBUG_KERNEL                      
220         depends on DEBUG_KERNEL                   
221         help                                      
222           Say Y here if you need to enable mis    
223           be under a more specific debug optio    
224                                                   
225 menu "Compile-time checks and compiler options    
226                                                   
227 config DEBUG_INFO                                 
228         bool                                      
229         help                                      
230           A kernel debug info option other tha    
231           in the "Debug information" choice be    
232           information will be generated for bu    
233                                                   
234 # Clang generates .uleb128 with label differen    
235 # older binutils ports do not support when uti    
236 # relaxation: https://sourceware.org/bugzilla/    
237 config AS_HAS_NON_CONST_ULEB128                   
238         def_bool $(as-instr,.uleb128 .Lexpr_en    
239                                                   
240 choice                                            
241         prompt "Debug information"                
242         depends on DEBUG_KERNEL                   
243         help                                      
244           Selecting something other than "None    
245           that will include debugging info res    
246           This adds debug symbols to the kerne    
247           is needed if you intend to use kerne    
248           tools like crash, kgdb, LKCD, gdb, e    
249                                                   
250           Choose which version of DWARF debug     
251           select "Toolchain default".             
252                                                   
253 config DEBUG_INFO_NONE                            
254         bool "Disable debug information"          
255         help                                      
256           Do not build the kernel with debuggi    
257           result in a faster and smaller build    
258                                                   
259 config DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT         
260         bool "Rely on the toolchain's implicit    
261         select DEBUG_INFO                         
262         depends on !CC_IS_CLANG || AS_IS_LLVM     
263         help                                      
264           The implicit default version of DWAR    
265           toolchain changes over time.            
266                                                   
267           This can break consumers of the debu    
268           support newer revisions, and prevent    
269           those should be less common scenario    
270                                                   
271 config DEBUG_INFO_DWARF4                          
272         bool "Generate DWARF Version 4 debugin    
273         select DEBUG_INFO                         
274         depends on !CC_IS_CLANG || AS_IS_LLVM     
275         help                                      
276           Generate DWARF v4 debug info. This r    
277           if using clang without clang's integ    
278                                                   
279           If you have consumers of DWARF debug    
280           newer revisions of DWARF, you may wi    
281           config select this.                     
282                                                   
283 config DEBUG_INFO_DWARF5                          
284         bool "Generate DWARF Version 5 debugin    
285         select DEBUG_INFO                         
286         depends on !ARCH_HAS_BROKEN_DWARF5        
287         depends on !CC_IS_CLANG || AS_IS_LLVM     
288         help                                      
289           Generate DWARF v5 debug info. Requir    
290           5.0+ accepts the -gdwarf-5 flag but     
291           draft features until 7.0), and gdb 8    
292                                                   
293           Changes to the structure of debug in    
294           15-18% savings in resulting image an    
295           compared to DWARF Version 4. DWARF V    
296           extensions such as accelerators for     
297           for fission (.dwo/.dwp) files. Users    
298           config if they rely on tooling that     
299           support DWARF Version 5.                
300                                                   
301 endchoice # "Debug information"                   
302                                                   
303 if DEBUG_INFO                                     
304                                                   
305 config DEBUG_INFO_REDUCED                         
306         bool "Reduce debugging information"       
307         help                                      
308           If you say Y here gcc is instructed     
309           information for structure types. Thi    
310           need full debugging information (lik    
311           be happy. But if you merely need deb    
312           resolve line numbers there is no los    
313           build directory object sizes shrink     
314           DEBUG_INFO build and compile times a    
315           Only works with newer gcc versions.     
316                                                   
317 choice                                            
318         prompt "Compressed Debug information"     
319         help                                      
320           Compress the resulting debug info. R    
321           but requires that consumers are able    
322                                                   
323           If unsure, choose DEBUG_INFO_COMPRES    
324                                                   
325 config DEBUG_INFO_COMPRESSED_NONE                 
326         bool "Don't compress debug information    
327         help                                      
328           Don't compress debug info sections.     
329                                                   
330 config DEBUG_INFO_COMPRESSED_ZLIB                 
331         bool "Compress debugging information w    
332         depends on $(cc-option,-gz=zlib)          
333         depends on $(ld-option,--compress-debu    
334         help                                      
335           Compress the debug information using    
336           5.0+, binutils 2.26+, and zlib.         
337                                                   
338           Users of dpkg-deb via scripts/packag    
339           size of their debug .deb packages wi    
340           debug info being compressed with zli    
341           recompressed with a different compre    
342           preferable to setting $KDEB_COMPRESS    
343           larger.                                 
344                                                   
345 config DEBUG_INFO_COMPRESSED_ZSTD                 
346         bool "Compress debugging information w    
347         depends on $(cc-option,-gz=zstd)          
348         depends on $(ld-option,--compress-debu    
349         help                                      
350           Compress the debug information using    
351           compression than zlib, for about the    
352           toolchain support.  Requires GCC 13.    
353           zstd.                                   
354                                                   
355 endchoice # "Compressed Debug information"        
356                                                   
357 config DEBUG_INFO_SPLIT                           
358         bool "Produce split debuginfo in .dwo     
359         depends on $(cc-option,-gsplit-dwarf)     
360         # RISC-V linker relaxation + -gsplit-d    
361         # prior to 12.x:                          
362         # https://github.com/llvm/llvm-project    
363         # https://gcc.gnu.org/bugzilla/show_bu    
364         depends on !RISCV || GCC_VERSION >= 12    
365         help                                      
366           Generate debug info into separate .d    
367           reduces the build directory size for    
368           because it stores the information on    
369           files instead of multiple times in o    
370           In addition the debug information is    
371                                                   
372           Requires recent gcc (4.7+) and recen    
373           Any tool that packages or reads debu    
374           to know about the .dwo files and inc    
375           Incompatible with older versions of     
376                                                   
377 config DEBUG_INFO_BTF                             
378         bool "Generate BTF type information"      
379         depends on !DEBUG_INFO_SPLIT && !DEBUG    
380         depends on !GCC_PLUGIN_RANDSTRUCT || C    
381         depends on BPF_SYSCALL                    
382         depends on !DEBUG_INFO_DWARF5 || PAHOL    
383         # pahole uses elfutils, which does not    
384         depends on !HEXAGON                       
385         help                                      
386           Generate deduplicated BTF type infor    
387           Turning this on expects presence of     
388           DWARF type info into equivalent dedu    
389                                                   
390 config PAHOLE_HAS_SPLIT_BTF                       
391         def_bool PAHOLE_VERSION >= 119            
392                                                   
393 config PAHOLE_HAS_BTF_TAG                         
394         def_bool PAHOLE_VERSION >= 123            
395         depends on CC_IS_CLANG                    
396         help                                      
397           Decide whether pahole emits btf_tag     
398           btf_decl_tag) or not. Currently only    
399           these attributes, so make the config    
400                                                   
401 config PAHOLE_HAS_LANG_EXCLUDE                    
402         def_bool PAHOLE_VERSION >= 124            
403         help                                      
404           Support for the --lang_exclude flag     
405           compilation units from the supplied     
406           omit Rust CUs which are not supporte    
407           otherwise it would emit malformed ke    
408           using DEBUG_INFO_BTF_MODULES.           
409                                                   
410 config DEBUG_INFO_BTF_MODULES                     
411         bool "Generate BTF type information fo    
412         default y                                 
413         depends on DEBUG_INFO_BTF && MODULES &    
414         help                                      
415           Generate compact split BTF type info    
416                                                   
417 config MODULE_ALLOW_BTF_MISMATCH                  
418         bool "Allow loading modules with non-m    
419         depends on DEBUG_INFO_BTF_MODULES         
420         help                                      
421           For modules whose split BTF does not    
422           BTF rather than refusing to load. Th    
423           module BTF enabled is to reject modu    
424           this option will still load module B    
425           it when a mismatch is found.            
426                                                   
427 config GDB_SCRIPTS                                
428         bool "Provide GDB scripts for kernel d    
429         help                                      
430           This creates the required links to G    
431           build directory. If you load vmlinux    
432           scripts will be automatically import    
433           additional functions are available t    
434           instance. See Documentation/dev-tool    
435           for further details.                    
436                                                   
437 endif # DEBUG_INFO                                
438                                                   
439 config FRAME_WARN                                 
440         int "Warn for stack frames larger than    
441         range 0 8192                              
442         default 0 if KMSAN                        
443         default 2048 if GCC_PLUGIN_LATENT_ENTR    
444         default 2048 if PARISC                    
445         default 1536 if (!64BIT && XTENSA)        
446         default 1280 if KASAN && !64BIT           
447         default 1024 if !64BIT                    
448         default 2048 if 64BIT                     
449         help                                      
450           Tell the compiler to warn at build t    
451           Setting this too low will cause a lo    
452           Setting it to 0 disables the warning    
453                                                   
454 config STRIP_ASM_SYMS                             
455         bool "Strip assembler-generated symbol    
456         default n                                 
457         help                                      
458           Strip internal assembler-generated s    
459           that look like '.Lxxx') so they don'    
460           get_wchan() and suchlike.               
461                                                   
462 config READABLE_ASM                               
463         bool "Generate readable assembler code    
464         depends on DEBUG_KERNEL                   
465         depends on CC_IS_GCC                      
466         help                                      
467           Disable some compiler optimizations     
468           assembler output. This may make the     
469           to keep kernel developers who have t    
470           sane.                                   
471                                                   
472 config HEADERS_INSTALL                            
473         bool "Install uapi headers to usr/incl    
474         depends on !UML                           
475         help                                      
476           This option will install uapi header    
477           into the usr/include directory for u    
478           This is unneeded for building the ke    
479           user-space program samples. It is al    
480           as uapi header sanity checks.           
481                                                   
482 config DEBUG_SECTION_MISMATCH                     
483         bool "Enable full Section mismatch ana    
484         depends on CC_IS_GCC                      
485         help                                      
486           The section mismatch analysis checks    
487           references from one section to anoth    
488           During linktime or runtime, some sec    
489           any use of code/data previously in t    
490           most likely result in an oops.          
491           In the code, functions and variables    
492           __init,, etc. (see the full list in     
493           which results in the code/data being    
494           The section mismatch analysis is alw    
495           kernel build, and enabling this opti    
496           additional step to occur:               
497           - Add the option -fno-inline-functio    
498             When inlining a function annotated    
499             function, we would lose the sectio    
500             the analysis would not catch the i    
501             This option tells gcc to inline le    
502             a larger kernel).                     
503                                                   
504 config SECTION_MISMATCH_WARN_ONLY                 
505         bool "Make section mismatch errors non    
506         default y                                 
507         help                                      
508           If you say N here, the build process    
509           section mismatch, instead of just th    
510                                                   
511           If unsure, say Y.                       
512                                                   
513 config DEBUG_FORCE_FUNCTION_ALIGN_64B             
514         bool "Force all function address 64B a    
515         depends on EXPERT && (X86_64 || ARM64     
516         select FUNCTION_ALIGNMENT_64B             
517         help                                      
518           There are cases that a commit from o    
519           address alignment of other domains,     
520           bump (regression or improvement). En    
521           verify if the bump is caused by func    
522           it will slightly increase the kernel    
523                                                   
524           It is mainly for debug and performan    
525                                                   
526 #                                                 
527 # Select this config option from the architect    
528 # is preferred to always offer frame pointers     
529 # option on the architecture (regardless of KE    
530 #                                                 
531 config ARCH_WANT_FRAME_POINTERS                   
532         bool                                      
533                                                   
534 config FRAME_POINTER                              
535         bool "Compile the kernel with frame po    
536         depends on DEBUG_KERNEL && (M68K || UM    
537         default y if (DEBUG_INFO && UML) || AR    
538         help                                      
539           If you say Y here the resulting kern    
540           larger and slower, but it gives very    
541           in case of kernel bugs. (precise oop    
542                                                   
543 config OBJTOOL                                    
544         bool                                      
545                                                   
546 config STACK_VALIDATION                           
547         bool "Compile-time stack metadata vali    
548         depends on HAVE_STACK_VALIDATION && UN    
549         select OBJTOOL                            
550         default n                                 
551         help                                      
552           Validate frame pointer rules at comp    
553           runtime stack traces are more reliab    
554                                                   
555           For more information, see               
556           tools/objtool/Documentation/objtool.    
557                                                   
558 config NOINSTR_VALIDATION                         
559         bool                                      
560         depends on HAVE_NOINSTR_VALIDATION &&     
561         select OBJTOOL                            
562         default y                                 
563                                                   
564 config VMLINUX_MAP                                
565         bool "Generate vmlinux.map file when l    
566         depends on EXPERT                         
567         help                                      
568           Selecting this option will pass "-Ma    
569           when linking vmlinux. That file can     
570           and debugging magic section games, a    
571           pieces of code get eliminated with      
572           CONFIG_LD_DEAD_CODE_DATA_ELIMINATION    
573                                                   
574 config DEBUG_FORCE_WEAK_PER_CPU                   
575         bool "Force weak per-cpu definitions"     
576         depends on DEBUG_KERNEL                   
577         help                                      
578           s390 and alpha require percpu variab    
579           defined weak to work around addressi    
580           puts the following two restrictions     
581           definitions.                            
582                                                   
583           1. percpu symbols must be unique whe    
584           2. percpu variables can't be defined    
585                                                   
586           To ensure that generic code follows     
587           option forces all percpu variables t    
588                                                   
589 endmenu # "Compiler options"                      
590                                                   
591 menu "Generic Kernel Debugging Instruments"       
592                                                   
593 config MAGIC_SYSRQ                                
594         bool "Magic SysRq key"                    
595         depends on !UML                           
596         help                                      
597           If you say Y here, you will have som    
598           if the system crashes for example du    
599           will be able to flush the buffer cac    
600           immediately or dump some status info    
601           by pressing various keys while holdi    
602           also works on a serial console (on P    
603           send a BREAK and then within 5 secon    
604           keys are documented in <file:Documen    
605           Don't say Y unless you really know w    
606                                                   
607 config MAGIC_SYSRQ_DEFAULT_ENABLE                 
608         hex "Enable magic SysRq key functions     
609         depends on MAGIC_SYSRQ                    
610         default 0x1                               
611         help                                      
612           Specifies which SysRq key functions     
613           This may be set to 1 or 0 to enable     
614           to a bitmask as described in Documen    
615                                                   
616 config MAGIC_SYSRQ_SERIAL                         
617         bool "Enable magic SysRq key over seri    
618         depends on MAGIC_SYSRQ                    
619         default y                                 
620         help                                      
621           Many embedded boards have a disconne    
622           generate some garbage that can lead     
623           This option allows you to decide whe    
624           magic SysRq key.                        
625                                                   
626 config MAGIC_SYSRQ_SERIAL_SEQUENCE                
627         string "Char sequence that enables mag    
628         depends on MAGIC_SYSRQ_SERIAL             
629         default ""                                
630         help                                      
631           Specifies a sequence of characters t    
632           SysRq on a serial console.              
633                                                   
634           If unsure, leave an empty string and    
635                                                   
636 config DEBUG_FS                                   
637         bool "Debug Filesystem"                   
638         help                                      
639           debugfs is a virtual file system tha    
640           debugging files into.  Enable this o    
641           write to these files.                   
642                                                   
643           For detailed documentation on the de    
644           Documentation/filesystems/.             
645                                                   
646           If unsure, say N.                       
647                                                   
648 choice                                            
649         prompt "Debugfs default access"           
650         depends on DEBUG_FS                       
651         default DEBUG_FS_ALLOW_ALL                
652         help                                      
653           This selects the default access rest    
654           It can be overridden with kernel com    
655           debugfs=[on,no-mount,off]. The restr    
656           and filesystem registration.            
657                                                   
658 config DEBUG_FS_ALLOW_ALL                         
659         bool "Access normal"                      
660         help                                      
661           No restrictions apply. Both API and     
662           is on. This is the normal default op    
663                                                   
664 config DEBUG_FS_DISALLOW_MOUNT                    
665         bool "Do not register debugfs as files    
666         help                                      
667           The API is open but filesystem is no    
668           their work and read with debug tools    
669           debugfs filesystem.                     
670                                                   
671 config DEBUG_FS_ALLOW_NONE                        
672         bool "No access"                          
673         help                                      
674           Access is off. Clients get -PERM whe    
675           debugfs tree and debugfs is not regi    
676           Client can then back-off or continue    
677                                                   
678 endchoice                                         
679                                                   
680 source "lib/Kconfig.kgdb"                         
681 source "lib/Kconfig.ubsan"                        
682 source "lib/Kconfig.kcsan"                        
683                                                   
684 endmenu                                           
685                                                   
686 menu "Networking Debugging"                       
687                                                   
688 source "net/Kconfig.debug"                        
689                                                   
690 endmenu # "Networking Debugging"                  
691                                                   
692 menu "Memory Debugging"                           
693                                                   
694 source "mm/Kconfig.debug"                         
695                                                   
696 config DEBUG_OBJECTS                              
697         bool "Debug object operations"            
698         depends on DEBUG_KERNEL                   
699         help                                      
700           If you say Y here, additional code w    
701           kernel to track the life time of var    
702           the operations on those objects.        
703                                                   
704 config DEBUG_OBJECTS_SELFTEST                     
705         bool "Debug objects selftest"             
706         depends on DEBUG_OBJECTS                  
707         help                                      
708           This enables the selftest of the obj    
709                                                   
710 config DEBUG_OBJECTS_FREE                         
711         bool "Debug objects in freed memory"      
712         depends on DEBUG_OBJECTS                  
713         help                                      
714           This enables checks whether a k/v fr    
715           which contains an object which has n    
716           properly. This can make kmalloc/kfre    
717           much slower.                            
718                                                   
719 config DEBUG_OBJECTS_TIMERS                       
720         bool "Debug timer objects"                
721         depends on DEBUG_OBJECTS                  
722         help                                      
723           If you say Y here, additional code w    
724           timer routines to track the life tim    
725           validate the timer operations.          
726                                                   
727 config DEBUG_OBJECTS_WORK                         
728         bool "Debug work objects"                 
729         depends on DEBUG_OBJECTS                  
730         help                                      
731           If you say Y here, additional code w    
732           work queue routines to track the lif    
733           validate the work operations.           
734                                                   
735 config DEBUG_OBJECTS_RCU_HEAD                     
736         bool "Debug RCU callbacks objects"        
737         depends on DEBUG_OBJECTS                  
738         help                                      
739           Enable this to turn on debugging of     
740                                                   
741 config DEBUG_OBJECTS_PERCPU_COUNTER               
742         bool "Debug percpu counter objects"       
743         depends on DEBUG_OBJECTS                  
744         help                                      
745           If you say Y here, additional code w    
746           percpu counter routines to track the    
747           objects and validate the percpu coun    
748                                                   
749 config DEBUG_OBJECTS_ENABLE_DEFAULT               
750         int "debug_objects bootup default valu    
751         range 0 1                                 
752         default "1"                               
753         depends on DEBUG_OBJECTS                  
754         help                                      
755           Debug objects boot parameter default    
756                                                   
757 config SHRINKER_DEBUG                             
758         bool "Enable shrinker debugging suppor    
759         depends on DEBUG_FS                       
760         help                                      
761           Say Y to enable the shrinker debugfs    
762           visibility into the kernel memory sh    
763           Disable it to avoid an extra memory     
764                                                   
765 config DEBUG_STACK_USAGE                          
766         bool "Stack utilization instrumentatio    
767         depends on DEBUG_KERNEL                   
768         help                                      
769           Enables the display of the minimum a    
770           task has ever had available in the s    
771           Also emits a message to dmesg when a    
772           used more stack space than previousl    
773                                                   
774           This option will slow down process c    
775                                                   
776 config SCHED_STACK_END_CHECK                      
777         bool "Detect stack corruption on calls    
778         depends on DEBUG_KERNEL                   
779         default n                                 
780         help                                      
781           This option checks for a stack overr    
782           If the stack end location is found t    
783           the content of the corrupted region     
784           This is to ensure no erroneous behav    
785           data corruption or a sporadic crash     
786           is examined. The runtime overhead in    
787                                                   
788 config ARCH_HAS_DEBUG_VM_PGTABLE                  
789         bool                                      
790         help                                      
791           An architecture should select this w    
792           build and run DEBUG_VM_PGTABLE.         
793                                                   
794 config DEBUG_VM_IRQSOFF                           
795         def_bool DEBUG_VM && !PREEMPT_RT          
796                                                   
797 config DEBUG_VM                                   
798         bool "Debug VM"                           
799         depends on DEBUG_KERNEL                   
800         help                                      
801           Enable this to turn on extended chec    
802           that may impact performance.            
803                                                   
804           If unsure, say N.                       
805                                                   
806 config DEBUG_VM_SHOOT_LAZIES                      
807         bool "Debug MMU_LAZY_TLB_SHOOTDOWN imp    
808         depends on DEBUG_VM                       
809         depends on MMU_LAZY_TLB_SHOOTDOWN         
810         help                                      
811           Enable additional IPIs that ensure l    
812           before the mm is freed.                 
813                                                   
814           If unsure, say N.                       
815                                                   
816 config DEBUG_VM_MAPLE_TREE                        
817         bool "Debug VM maple trees"               
818         depends on DEBUG_VM                       
819         select DEBUG_MAPLE_TREE                   
820         help                                      
821           Enable VM maple tree debugging infor    
822                                                   
823           If unsure, say N.                       
824                                                   
825 config DEBUG_VM_RB                                
826         bool "Debug VM red-black trees"           
827         depends on DEBUG_VM                       
828         help                                      
829           Enable VM red-black tree debugging i    
830                                                   
831           If unsure, say N.                       
832                                                   
833 config DEBUG_VM_PGFLAGS                           
834         bool "Debug page-flags operations"        
835         depends on DEBUG_VM                       
836         help                                      
837           Enables extra validation on page fla    
838                                                   
839           If unsure, say N.                       
840                                                   
841 config DEBUG_VM_PGTABLE                           
842         bool "Debug arch page table for semant    
843         depends on MMU                            
844         depends on ARCH_HAS_DEBUG_VM_PGTABLE      
845         default y if DEBUG_VM                     
846         help                                      
847           This option provides a debug method     
848           architecture page table helper funct    
849           verifying if they comply with expect    
850           will help architecture code in makin    
851           new additions of these helpers still    
852           semantics of the generic MM. Platfor    
853           this through ARCH_HAS_DEBUG_VM_PGTAB    
854                                                   
855           If unsure, say N.                       
856                                                   
857 config ARCH_HAS_DEBUG_VIRTUAL                     
858         bool                                      
859                                                   
860 config DEBUG_VIRTUAL                              
861         bool "Debug VM translations"              
862         depends on DEBUG_KERNEL && ARCH_HAS_DE    
863         help                                      
864           Enable some costly sanity checks in     
865           catch mistakes with virt_to_page() a    
866                                                   
867           If unsure, say N.                       
868                                                   
869 config DEBUG_NOMMU_REGIONS                        
870         bool "Debug the global anon/private NO    
871         depends on DEBUG_KERNEL && !MMU           
872         help                                      
873           This option causes the global tree o    
874           regions to be regularly checked for     
875                                                   
876 config DEBUG_MEMORY_INIT                          
877         bool "Debug memory initialisation" if     
878         default !EXPERT                           
879         help                                      
880           Enable this for additional checks du    
881           The sanity checks verify aspects of     
882           and other information provided by th    
883           information will be printed at KERN_    
884           on the mminit_loglevel= command-line    
885                                                   
886           If unsure, say Y                        
887                                                   
888 config MEMORY_NOTIFIER_ERROR_INJECT               
889         tristate "Memory hotplug notifier erro    
890         depends on MEMORY_HOTPLUG && NOTIFIER_    
891         help                                      
892           This option provides the ability to     
893           memory hotplug notifier chain callba    
894           debugfs interface under /sys/kernel/    
895                                                   
896           If the notifier call chain should be    
897           notified, write the error code to "a    
898                                                   
899           Example: Inject memory hotplug offli    
900                                                   
901           # cd /sys/kernel/debug/notifier-erro    
902           # echo -12 > actions/MEM_GOING_OFFLI    
903           # echo offline > /sys/devices/system    
904           bash: echo: write error: Cannot allo    
905                                                   
906           To compile this code as a module, ch    
907           be called memory-notifier-error-inje    
908                                                   
909           If unsure, say N.                       
910                                                   
911 config DEBUG_PER_CPU_MAPS                         
912         bool "Debug access to per_cpu maps"       
913         depends on DEBUG_KERNEL                   
914         depends on SMP                            
915         help                                      
916           Say Y to verify that the per_cpu map    
917           been set up. This adds a fair amount    
918           and decreases performance.              
919                                                   
920           Say N if unsure.                        
921                                                   
922 config DEBUG_KMAP_LOCAL                           
923         bool "Debug kmap_local temporary mappi    
924         depends on DEBUG_KERNEL && KMAP_LOCAL     
925         help                                      
926           This option enables additional error    
927           infrastructure.  Disable for product    
928                                                   
929 config ARCH_SUPPORTS_KMAP_LOCAL_FORCE_MAP         
930         bool                                      
931                                                   
932 config DEBUG_KMAP_LOCAL_FORCE_MAP                 
933         bool "Enforce kmap_local temporary map    
934         depends on DEBUG_KERNEL && ARCH_SUPPOR    
935         select KMAP_LOCAL                         
936         select DEBUG_KMAP_LOCAL                   
937         help                                      
938           This option enforces temporary mappi    
939           mechanism for non-highmem pages and     
940           Disable this for production systems!    
941                                                   
942 config DEBUG_HIGHMEM                              
943         bool "Highmem debugging"                  
944         depends on DEBUG_KERNEL && HIGHMEM        
945         select DEBUG_KMAP_LOCAL_FORCE_MAP if A    
946         select DEBUG_KMAP_LOCAL                   
947         help                                      
948           This option enables additional error    
949           systems.  Disable for production sys    
950                                                   
951 config HAVE_DEBUG_STACKOVERFLOW                   
952         bool                                      
953                                                   
954 config DEBUG_STACKOVERFLOW                        
955         bool "Check for stack overflows"          
956         depends on DEBUG_KERNEL && HAVE_DEBUG_    
957         help                                      
958           Say Y here if you want to check for     
959           and exception stacks (if your archit    
960           option will show detailed messages i    
961           below a certain limit.                  
962                                                   
963           These kinds of bugs usually occur wh    
964           kernel get too deep, especially when    
965           involved.                               
966                                                   
967           Use this in cases where you see appa    
968           corruption, especially if it appears    
969                                                   
970           If in doubt, say "N".                   
971                                                   
972 config CODE_TAGGING                               
973         bool                                      
974         select KALLSYMS                           
975                                                   
976 config MEM_ALLOC_PROFILING                        
977         bool "Enable memory allocation profili    
978         default n                                 
979         depends on PROC_FS                        
980         depends on !DEBUG_FORCE_WEAK_PER_CPU      
981         select CODE_TAGGING                       
982         select PAGE_EXTENSION                     
983         select SLAB_OBJ_EXT                       
984         help                                      
985           Track allocation source code and rec    
986           initiated at that code location. The    
987           memory leaks with a low performance     
988                                                   
989 config MEM_ALLOC_PROFILING_ENABLED_BY_DEFAULT     
990         bool "Enable memory allocation profili    
991         default y                                 
992         depends on MEM_ALLOC_PROFILING            
993                                                   
994 config MEM_ALLOC_PROFILING_DEBUG                  
995         bool "Memory allocation profiler debug    
996         default n                                 
997         depends on MEM_ALLOC_PROFILING            
998         select MEM_ALLOC_PROFILING_ENABLED_BY_    
999         help                                      
1000           Adds warnings with helpful error me    
1001           profiling.                             
1002                                                  
1003 source "lib/Kconfig.kasan"                       
1004 source "lib/Kconfig.kfence"                      
1005 source "lib/Kconfig.kmsan"                       
1006                                                  
1007 endmenu # "Memory Debugging"                     
1008                                                  
1009 config DEBUG_SHIRQ                               
1010         bool "Debug shared IRQ handlers"         
1011         depends on DEBUG_KERNEL                  
1012         help                                     
1013           Enable this to generate a spurious     
1014           interrupt handler is deregistered (    
1015           is currently disabled). Drivers nee    
1016           don't and need to be caught.           
1017                                                  
1018 menu "Debug Oops, Lockups and Hangs"             
1019                                                  
1020 config PANIC_ON_OOPS                             
1021         bool "Panic on Oops"                     
1022         help                                     
1023           Say Y here to enable the kernel to     
1024           has the same effect as setting oops    
1025           line.                                  
1026                                                  
1027           This feature is useful to ensure th    
1028           anything erroneous after an oops wh    
1029           corruption or other issues.            
1030                                                  
1031           Say N if unsure.                       
1032                                                  
1033 config PANIC_ON_OOPS_VALUE                       
1034         int                                      
1035         range 0 1                                
1036         default 0 if !PANIC_ON_OOPS              
1037         default 1 if PANIC_ON_OOPS               
1038                                                  
1039 config PANIC_TIMEOUT                             
1040         int "panic timeout"                      
1041         default 0                                
1042         help                                     
1043           Set the timeout value (in seconds)     
1044           the kernel panics. If n = 0, then w    
1045           value n > 0 will wait n seconds bef    
1046           value n < 0 will reboot immediately    
1047           with the kernel command line option    
1048           /proc/sys/kernel/panic.                
1049                                                  
1050 config LOCKUP_DETECTOR                           
1051         bool                                     
1052                                                  
1053 config SOFTLOCKUP_DETECTOR                       
1054         bool "Detect Soft Lockups"               
1055         depends on DEBUG_KERNEL && !S390         
1056         select LOCKUP_DETECTOR                   
1057         help                                     
1058           Say Y here to enable the kernel to     
1059           soft lockups.                          
1060                                                  
1061           Softlockups are bugs that cause the    
1062           mode for more than 20 seconds, with    
1063           chance to run.  The current stack t    
1064           detection and the system will stay     
1065                                                  
1066 config SOFTLOCKUP_DETECTOR_INTR_STORM            
1067         bool "Detect Interrupt Storm in Soft     
1068         depends on SOFTLOCKUP_DETECTOR && IRQ    
1069         select GENERIC_IRQ_STAT_SNAPSHOT         
1070         default y if NR_CPUS <= 128              
1071         help                                     
1072           Say Y here to enable the kernel to     
1073           during "soft lockups".                 
1074                                                  
1075           "soft lockups" can be caused by a v    
1076           caused by an interrupt storm, then     
1077           be on the callstack. To detect this    
1078           the CPU stats and the interrupt cou    
1079                                                  
1080 config BOOTPARAM_SOFTLOCKUP_PANIC                
1081         bool "Panic (Reboot) On Soft Lockups"    
1082         depends on SOFTLOCKUP_DETECTOR           
1083         help                                     
1084           Say Y here to enable the kernel to     
1085           which are bugs that cause the kerne    
1086           mode for more than 20 seconds (conf    
1087           sysctl), without giving other tasks    
1088                                                  
1089           The panic can be used in combinatio    
1090           to cause the system to reboot autom    
1091           lockup has been detected. This feat    
1092           high-availability systems that have    
1093           where a lockup must be resolved ASA    
1094                                                  
1095           Say N if unsure.                       
1096                                                  
1097 config HAVE_HARDLOCKUP_DETECTOR_BUDDY            
1098         bool                                     
1099         depends on SMP                           
1100         default y                                
1101                                                  
1102 #                                                
1103 # Global switch whether to build a hardlockup    
1104 # only when the architecture supports at leas    
1105 # two exceptions. The hardlockup detector is     
1106 #                                                
1107 #       s390: it reported many false positive    
1108 #                                                
1109 #       sparc64: has a custom implementation     
1110 #               hardlockup command line optio    
1111 #                                                
1112 config HARDLOCKUP_DETECTOR                       
1113         bool "Detect Hard Lockups"               
1114         depends on DEBUG_KERNEL && !S390 && !    
1115         depends on HAVE_HARDLOCKUP_DETECTOR_P    
1116         imply HARDLOCKUP_DETECTOR_PERF           
1117         imply HARDLOCKUP_DETECTOR_BUDDY          
1118         imply HARDLOCKUP_DETECTOR_ARCH           
1119         select LOCKUP_DETECTOR                   
1120                                                  
1121         help                                     
1122           Say Y here to enable the kernel to     
1123           hard lockups.                          
1124                                                  
1125           Hardlockups are bugs that cause the    
1126           for more than 10 seconds, without l    
1127           chance to run.  The current stack t    
1128           and the system will stay locked up.    
1129                                                  
1130 #                                                
1131 # Note that arch-specific variants are always    
1132 #                                                
1133 config HARDLOCKUP_DETECTOR_PREFER_BUDDY          
1134         bool "Prefer the buddy CPU hardlockup    
1135         depends on HARDLOCKUP_DETECTOR           
1136         depends on HAVE_HARDLOCKUP_DETECTOR_P    
1137         depends on !HAVE_HARDLOCKUP_DETECTOR_    
1138         help                                     
1139           Say Y here to prefer the buddy hard    
1140                                                  
1141           With the buddy detector, each CPU u    
1142           to check that the next CPU is proce    
1143           verifying that a counter is increas    
1144                                                  
1145           This hardlockup detector is useful     
1146           an arch-specific hardlockup detecto    
1147           for the hardlockup detector are bet    
1148                                                  
1149 config HARDLOCKUP_DETECTOR_PERF                  
1150         bool                                     
1151         depends on HARDLOCKUP_DETECTOR           
1152         depends on HAVE_HARDLOCKUP_DETECTOR_P    
1153         depends on !HAVE_HARDLOCKUP_DETECTOR_    
1154         select HARDLOCKUP_DETECTOR_COUNTS_HRT    
1155                                                  
1156 config HARDLOCKUP_DETECTOR_BUDDY                 
1157         bool                                     
1158         depends on HARDLOCKUP_DETECTOR           
1159         depends on HAVE_HARDLOCKUP_DETECTOR_B    
1160         depends on !HAVE_HARDLOCKUP_DETECTOR_    
1161         depends on !HAVE_HARDLOCKUP_DETECTOR_    
1162         select HARDLOCKUP_DETECTOR_COUNTS_HRT    
1163                                                  
1164 config HARDLOCKUP_DETECTOR_ARCH                  
1165         bool                                     
1166         depends on HARDLOCKUP_DETECTOR           
1167         depends on HAVE_HARDLOCKUP_DETECTOR_A    
1168         help                                     
1169           The arch-specific implementation of    
1170           be used.                               
1171                                                  
1172 #                                                
1173 # Both the "perf" and "buddy" hardlockup dete    
1174 # interrupts. This config enables functions m    
1175 #                                                
1176 config HARDLOCKUP_DETECTOR_COUNTS_HRTIMER        
1177         bool                                     
1178         select SOFTLOCKUP_DETECTOR               
1179                                                  
1180 #                                                
1181 # Enables a timestamp based low pass filter t    
1182 # hard lockup detection which runs too fast d    
1183 #                                                
1184 config HARDLOCKUP_CHECK_TIMESTAMP                
1185         bool                                     
1186                                                  
1187 config BOOTPARAM_HARDLOCKUP_PANIC                
1188         bool "Panic (Reboot) On Hard Lockups"    
1189         depends on HARDLOCKUP_DETECTOR           
1190         help                                     
1191           Say Y here to enable the kernel to     
1192           which are bugs that cause the kerne    
1193           mode with interrupts disabled for m    
1194           using the watchdog_thresh sysctl).     
1195                                                  
1196           Say N if unsure.                       
1197                                                  
1198 config DETECT_HUNG_TASK                          
1199         bool "Detect Hung Tasks"                 
1200         depends on DEBUG_KERNEL                  
1201         default SOFTLOCKUP_DETECTOR              
1202         help                                     
1203           Say Y here to enable the kernel to     
1204           which are bugs that cause the task     
1205           uninterruptible "D" state indefinit    
1206                                                  
1207           When a hung task is detected, the k    
1208           current stack trace (which you shou    
1209           task will stay in uninterruptible s    
1210           enabled then all held locks will al    
1211           feature has negligible overhead.       
1212                                                  
1213 config DEFAULT_HUNG_TASK_TIMEOUT                 
1214         int "Default timeout for hung task de    
1215         depends on DETECT_HUNG_TASK              
1216         default 120                              
1217         help                                     
1218           This option controls the default ti    
1219           to determine when a task has become    
1220           be considered hung.                    
1221                                                  
1222           It can be adjusted at runtime via t    
1223           sysctl or by writing a value to        
1224           /proc/sys/kernel/hung_task_timeout_    
1225                                                  
1226           A timeout of 0 disables the check.     
1227           Keeping the default should be fine     
1228                                                  
1229 config BOOTPARAM_HUNG_TASK_PANIC                 
1230         bool "Panic (Reboot) On Hung Tasks"      
1231         depends on DETECT_HUNG_TASK              
1232         help                                     
1233           Say Y here to enable the kernel to     
1234           which are bugs that cause the kerne    
1235           in uninterruptible "D" state.          
1236                                                  
1237           The panic can be used in combinatio    
1238           to cause the system to reboot autom    
1239           hung task has been detected. This f    
1240           high-availability systems that have    
1241           where a hung tasks must be resolved    
1242                                                  
1243           Say N if unsure.                       
1244                                                  
1245 config WQ_WATCHDOG                               
1246         bool "Detect Workqueue Stalls"           
1247         depends on DEBUG_KERNEL                  
1248         help                                     
1249           Say Y here to enable stall detectio    
1250           worker pool doesn't make forward pr    
1251           item for over a given amount of tim    
1252           warning message is printed along wi    
1253           state.  This can be configured thro    
1254           "workqueue.watchdog_thresh" and its    
1255                                                  
1256 config WQ_CPU_INTENSIVE_REPORT                   
1257         bool "Report per-cpu work items which    
1258         depends on DEBUG_KERNEL                  
1259         help                                     
1260           Say Y here to enable reporting of c    
1261           items that hog CPUs for longer than    
1262           workqueue.cpu_intensive_thresh_us.     
1263           detects and excludes them from conc    
1264           them from stalling other per-cpu wo    
1265           triggering may not necessarily indi    
1266           triggering likely indicates that th    
1267           to use an unbound workqueue.           
1268                                                  
1269 config TEST_LOCKUP                               
1270         tristate "Test module to generate loc    
1271         depends on m                             
1272         help                                     
1273           This builds the "test_lockup" modul    
1274           that watchdogs and lockup detectors    
1275                                                  
1276           Depending on module parameters it c    
1277           lockup, "hung task", or locking arb    
1278           Also it could generate series of lo    
1279                                                  
1280           If unsure, say N.                      
1281                                                  
1282 endmenu # "Debug lockups and hangs"              
1283                                                  
1284 menu "Scheduler Debugging"                       
1285                                                  
1286 config SCHED_DEBUG                               
1287         bool "Collect scheduler debugging inf    
1288         depends on DEBUG_KERNEL && DEBUG_FS      
1289         default y                                
1290         help                                     
1291           If you say Y here, the /sys/kernel/    
1292           that can help debug the scheduler.     
1293           option is minimal.                     
1294                                                  
1295 config SCHED_INFO                                
1296         bool                                     
1297         default n                                
1298                                                  
1299 config SCHEDSTATS                                
1300         bool "Collect scheduler statistics"      
1301         depends on PROC_FS                       
1302         select SCHED_INFO                        
1303         help                                     
1304           If you say Y here, additional code     
1305           scheduler and related routines to c    
1306           scheduler behavior and provide them    
1307           stats may be useful for both tuning    
1308           If you aren't debugging the schedul    
1309           application, you can say N to avoid    
1310           this adds.                             
1311                                                  
1312 endmenu                                          
1313                                                  
1314 config DEBUG_TIMEKEEPING                         
1315         bool "Enable extra timekeeping sanity    
1316         help                                     
1317           This option will enable additional     
1318           which may be helpful when diagnosin    
1319           problems are suspected.                
1320                                                  
1321           This may include checks in the time    
1322           option may have a (very small) perf    
1323           workloads.                             
1324                                                  
1325           If unsure, say N.                      
1326                                                  
1327 config DEBUG_PREEMPT                             
1328         bool "Debug preemptible kernel"          
1329         depends on DEBUG_KERNEL && PREEMPTION    
1330         help                                     
1331           If you say Y here then the kernel w    
1332           commonly used smp_processor_id() fu    
1333           if kernel code uses it in a preempt    
1334           will detect preemption count underf    
1335                                                  
1336           This option has potential to introd    
1337           depending on workload as it trigger    
1338           this_cpu operation. It should only     
1339                                                  
1340 menu "Lock Debugging (spinlocks, mutexes, etc    
1341                                                  
1342 config LOCK_DEBUGGING_SUPPORT                    
1343         bool                                     
1344         depends on TRACE_IRQFLAGS_SUPPORT &&     
1345         default y                                
1346                                                  
1347 config PROVE_LOCKING                             
1348         bool "Lock debugging: prove locking c    
1349         depends on DEBUG_KERNEL && LOCK_DEBUG    
1350         select LOCKDEP                           
1351         select DEBUG_SPINLOCK                    
1352         select DEBUG_MUTEXES if !PREEMPT_RT      
1353         select DEBUG_RT_MUTEXES if RT_MUTEXES    
1354         select DEBUG_RWSEMS if !PREEMPT_RT       
1355         select DEBUG_WW_MUTEX_SLOWPATH           
1356         select DEBUG_LOCK_ALLOC                  
1357         select PREEMPT_COUNT if !ARCH_NO_PREE    
1358         select TRACE_IRQFLAGS                    
1359         default n                                
1360         help                                     
1361          This feature enables the kernel to p    
1362          that occurs in the kernel runtime is    
1363          correct: that under no circumstance     
1364          not yet triggered) combination of ob    
1365          sequences (on an arbitrary number of    
1366          arbitrary number of tasks and interr    
1367          deadlock.                               
1368                                                  
1369          In short, this feature enables the k    
1370          related deadlocks before they actual    
1371                                                  
1372          The proof does not depend on how har    
1373          deadlock scenario would be to trigge    
1374          participant CPUs, tasks and irq-cont    
1375          for it to trigger. The proof also do    
1376          timing: if a race and a resulting de    
1377          theoretically (no matter how unlikel    
1378          is), it will be proven so and will i    
1379          reported by the kernel (once the eve    
1380          makes the deadlock theoretically pos    
1381                                                  
1382          If a deadlock is impossible (i.e. th    
1383          observed by the kernel, are mathemat    
1384          kernel reports nothing.                 
1385                                                  
1386          NOTE: this feature can also be enabl    
1387          and rwsems - in which case all depen    
1388          different locking variants are obser    
1389          the proof of observed correctness is    
1390          arbitrary combination of these separ    
1391                                                  
1392          For more details, see Documentation/    
1393                                                  
1394 config PROVE_RAW_LOCK_NESTING                    
1395         bool "Enable raw_spinlock - spinlock     
1396         depends on PROVE_LOCKING                 
1397         default n                                
1398         help                                     
1399          Enable the raw_spinlock vs. spinlock    
1400          that the lock nesting rules for PREE    
1401          not violated.                           
1402                                                  
1403          NOTE: There are known nesting proble    
1404          option expect lockdep splats until t    
1405          addressed which is work in progress.    
1406          identify and analyze these problems.    
1407          check permanently enabled once the m    
1408                                                  
1409          If unsure, select N.                    
1410                                                  
1411 config LOCK_STAT                                 
1412         bool "Lock usage statistics"             
1413         depends on DEBUG_KERNEL && LOCK_DEBUG    
1414         select LOCKDEP                           
1415         select DEBUG_SPINLOCK                    
1416         select DEBUG_MUTEXES if !PREEMPT_RT      
1417         select DEBUG_RT_MUTEXES if RT_MUTEXES    
1418         select DEBUG_LOCK_ALLOC                  
1419         default n                                
1420         help                                     
1421          This feature enables tracking lock c    
1422                                                  
1423          For more details, see Documentation/    
1424                                                  
1425          This also enables lock events requir    
1426          subcommand of perf.                     
1427          If you want to use "perf lock", you     
1428          CONFIG_EVENT_TRACING.                   
1429                                                  
1430          CONFIG_LOCK_STAT defines "contended"    
1431          (CONFIG_LOCKDEP defines "acquire" an    
1432                                                  
1433 config DEBUG_RT_MUTEXES                          
1434         bool "RT Mutex debugging, deadlock de    
1435         depends on DEBUG_KERNEL && RT_MUTEXES    
1436         help                                     
1437          This allows rt mutex semantics viola    
1438          deadlocks (lockups) to be detected a    
1439                                                  
1440 config DEBUG_SPINLOCK                            
1441         bool "Spinlock and rw-lock debugging:    
1442         depends on DEBUG_KERNEL                  
1443         select UNINLINE_SPIN_UNLOCK              
1444         help                                     
1445           Say Y here and build SMP to catch m    
1446           and certain other kinds of spinlock    
1447           best used in conjunction with the N    
1448           deadlocks are also debuggable.         
1449                                                  
1450 config DEBUG_MUTEXES                             
1451         bool "Mutex debugging: basic checks"     
1452         depends on DEBUG_KERNEL && !PREEMPT_R    
1453         help                                     
1454          This feature allows mutex semantics     
1455          reported.                               
1456                                                  
1457 config DEBUG_WW_MUTEX_SLOWPATH                   
1458         bool "Wait/wound mutex debugging: Slo    
1459         depends on DEBUG_KERNEL && LOCK_DEBUG    
1460         select DEBUG_LOCK_ALLOC                  
1461         select DEBUG_SPINLOCK                    
1462         select DEBUG_MUTEXES if !PREEMPT_RT      
1463         select DEBUG_RT_MUTEXES if PREEMPT_RT    
1464         help                                     
1465          This feature enables slowpath testin    
1466          injecting additional -EDEADLK wound/    
1467          the full mutex checks enabled with (    
1468          will test all possible w/w mutex int    
1469          exception of simply not acquiring al    
1470          Note that this feature can introduce    
1471          it really should not be enabled in a    
1472          even a debug kernel.  If you are a d    
1473          you are a distro, do not.               
1474                                                  
1475 config DEBUG_RWSEMS                              
1476         bool "RW Semaphore debugging: basic c    
1477         depends on DEBUG_KERNEL && !PREEMPT_R    
1478         help                                     
1479           This debugging feature allows misma    
1480           and unlocks to be detected and repo    
1481                                                  
1482 config DEBUG_LOCK_ALLOC                          
1483         bool "Lock debugging: detect incorrec    
1484         depends on DEBUG_KERNEL && LOCK_DEBUG    
1485         select DEBUG_SPINLOCK                    
1486         select DEBUG_MUTEXES if !PREEMPT_RT      
1487         select DEBUG_RT_MUTEXES if RT_MUTEXES    
1488         select LOCKDEP                           
1489         help                                     
1490          This feature will check whether any     
1491          mutex or rwsem) is incorrectly freed    
1492          memory-freeing routines (kfree(), km    
1493          vfree(), etc.), whether a live lock     
1494          spin_lock_init()/mutex_init()/etc.,     
1495          held during task exit.                  
1496                                                  
1497 config LOCKDEP                                   
1498         bool                                     
1499         depends on DEBUG_KERNEL && LOCK_DEBUG    
1500         select STACKTRACE                        
1501         select KALLSYMS                          
1502         select KALLSYMS_ALL                      
1503                                                  
1504 config LOCKDEP_SMALL                             
1505         bool                                     
1506                                                  
1507 config LOCKDEP_BITS                              
1508         int "Bitsize for MAX_LOCKDEP_ENTRIES"    
1509         depends on LOCKDEP && !LOCKDEP_SMALL     
1510         range 10 30                              
1511         default 15                               
1512         help                                     
1513           Try increasing this value if you hi    
1514                                                  
1515 config LOCKDEP_CHAINS_BITS                       
1516         int "Bitsize for MAX_LOCKDEP_CHAINS"     
1517         depends on LOCKDEP && !LOCKDEP_SMALL     
1518         range 10 30                              
1519         default 16                               
1520         help                                     
1521           Try increasing this value if you hi    
1522                                                  
1523 config LOCKDEP_STACK_TRACE_BITS                  
1524         int "Bitsize for MAX_STACK_TRACE_ENTR    
1525         depends on LOCKDEP && !LOCKDEP_SMALL     
1526         range 10 30                              
1527         default 19                               
1528         help                                     
1529           Try increasing this value if you hi    
1530                                                  
1531 config LOCKDEP_STACK_TRACE_HASH_BITS             
1532         int "Bitsize for STACK_TRACE_HASH_SIZ    
1533         depends on LOCKDEP && !LOCKDEP_SMALL     
1534         range 10 30                              
1535         default 14                               
1536         help                                     
1537           Try increasing this value if you ne    
1538                                                  
1539 config LOCKDEP_CIRCULAR_QUEUE_BITS               
1540         int "Bitsize for elements in circular    
1541         depends on LOCKDEP                       
1542         range 10 30                              
1543         default 12                               
1544         help                                     
1545           Try increasing this value if you hi    
1546                                                  
1547 config DEBUG_LOCKDEP                             
1548         bool "Lock dependency engine debuggin    
1549         depends on DEBUG_KERNEL && LOCKDEP       
1550         select DEBUG_IRQFLAGS                    
1551         help                                     
1552           If you say Y here, the lock depende    
1553           additional runtime checks to debug     
1554           of more runtime overhead.              
1555                                                  
1556 config DEBUG_ATOMIC_SLEEP                        
1557         bool "Sleep inside atomic section che    
1558         select PREEMPT_COUNT                     
1559         depends on DEBUG_KERNEL                  
1560         depends on !ARCH_NO_PREEMPT              
1561         help                                     
1562           If you say Y here, various routines    
1563           noisy if they are called inside ato    
1564           held, inside an rcu read side criti    
1565           sections, inside an interrupt, etc.    
1566                                                  
1567 config DEBUG_LOCKING_API_SELFTESTS               
1568         bool "Locking API boot-time self-test    
1569         depends on DEBUG_KERNEL                  
1570         help                                     
1571           Say Y here if you want the kernel t    
1572           bootup. The self-test checks whethe    
1573           are detected by debugging mechanism    
1574           lock debugging then those bugs won'    
1575           The following locking APIs are cove    
1576           mutexes and rwsems.                    
1577                                                  
1578 config LOCK_TORTURE_TEST                         
1579         tristate "torture tests for locking"     
1580         depends on DEBUG_KERNEL                  
1581         select TORTURE_TEST                      
1582         help                                     
1583           This option provides a kernel modul    
1584           on kernel locking primitives.  The     
1585           after the fact on the running kerne    
1586                                                  
1587           Say Y here if you want kernel locki    
1588           to be built into the kernel.           
1589           Say M if you want these torture tes    
1590           Say N if you are unsure.               
1591                                                  
1592 config WW_MUTEX_SELFTEST                         
1593         tristate "Wait/wound mutex selftests"    
1594         help                                     
1595           This option provides a kernel modul    
1596           on the struct ww_mutex locking API.    
1597                                                  
1598           It is recommended to enable DEBUG_W    
1599           with this test harness.                
1600                                                  
1601           Say M if you want these self tests     
1602           Say N if you are unsure.               
1603                                                  
1604 config SCF_TORTURE_TEST                          
1605         tristate "torture tests for smp_call_    
1606         depends on DEBUG_KERNEL                  
1607         select TORTURE_TEST                      
1608         help                                     
1609           This option provides a kernel modul    
1610           on the smp_call_function() family o    
1611           module may be built after the fact     
1612           be tested, if desired.                 
1613                                                  
1614 config CSD_LOCK_WAIT_DEBUG                       
1615         bool "Debugging for csd_lock_wait(),     
1616         depends on DEBUG_KERNEL                  
1617         depends on 64BIT                         
1618         default n                                
1619         help                                     
1620           This option enables debug prints wh    
1621           to the smp_call_function*() IPI wra    
1622           include the IPI handler function cu    
1623           and relevant stack traces.             
1624                                                  
1625 config CSD_LOCK_WAIT_DEBUG_DEFAULT               
1626         bool "Default csd_lock_wait() debuggi    
1627         depends on CSD_LOCK_WAIT_DEBUG           
1628         depends on 64BIT                         
1629         default n                                
1630         help                                     
1631           This option causes the csdlock_debu    
1632           default to 1 (basic debugging) inst    
1633                                                  
1634 endmenu # lock debugging                         
1635                                                  
1636 config TRACE_IRQFLAGS                            
1637         depends on TRACE_IRQFLAGS_SUPPORT        
1638         bool                                     
1639         help                                     
1640           Enables hooks to interrupt enabling    
1641           either tracing or lock debugging.      
1642                                                  
1643 config TRACE_IRQFLAGS_NMI                        
1644         def_bool y                               
1645         depends on TRACE_IRQFLAGS                
1646         depends on TRACE_IRQFLAGS_NMI_SUPPORT    
1647                                                  
1648 config NMI_CHECK_CPU                             
1649         bool "Debugging for CPUs failing to r    
1650         depends on DEBUG_KERNEL                  
1651         depends on X86                           
1652         default n                                
1653         help                                     
1654           Enables debug prints when a CPU fai    
1655           backtrace NMI.  These prints provid    
1656           might legitimately be failing to re    
1657           is offline of if ignore_nmis is set    
1658                                                  
1659 config DEBUG_IRQFLAGS                            
1660         bool "Debug IRQ flag manipulation"       
1661         help                                     
1662           Enables checks for potentially unsa    
1663           interrupts, such as calling raw_loc    
1664           are enabled.                           
1665                                                  
1666 config STACKTRACE                                
1667         bool "Stack backtrace support"           
1668         depends on STACKTRACE_SUPPORT            
1669         help                                     
1670           This option causes the kernel to cr    
1671           every process, showing its current     
1672           It is also used by various kernel d    
1673           stack trace generation.                
1674                                                  
1675 config WARN_ALL_UNSEEDED_RANDOM                  
1676         bool "Warn for all uses of unseeded r    
1677         default n                                
1678         help                                     
1679           Some parts of the kernel contain bu    
1680           cryptographically secure random num    
1681           to generate those numbers securely.    
1682           flaws don't go unnoticed, by enabli    
1683           occur. This will allow people with     
1684           are going wrong, so that they might    
1685           it.                                    
1686                                                  
1687           Unfortunately, on some models of so    
1688           a fully seeded CRNG is extremely di    
1689           result in dmesg getting spammed for    
1690           time.  This is really bad from a se    
1691           so architecture maintainers really     
1692           to get the CRNG seeded sooner after    
1693           However, since users cannot do anyt    
1694           address this, by default this optio    
1695                                                  
1696           Say Y here if you want to receive w    
1697           unseeded randomness.  This will be     
1698           those developers interested in impr    
1699           Linux kernels running on their arch    
1700           subarchitecture).                      
1701                                                  
1702 config DEBUG_KOBJECT                             
1703         bool "kobject debugging"                 
1704         depends on DEBUG_KERNEL                  
1705         help                                     
1706           If you say Y here, some extra kobje    
1707           to the syslog.                         
1708                                                  
1709 config DEBUG_KOBJECT_RELEASE                     
1710         bool "kobject release debugging"         
1711         depends on DEBUG_OBJECTS_TIMERS          
1712         help                                     
1713           kobjects are reference counted obje    
1714           last reference count put is not pre    
1715           live on past the point at which a d    
1716           initial reference to the kobject ga    
1717           example of this would be a struct d    
1718           unregistered.                          
1719                                                  
1720           However, some buggy drivers assume     
1721           the memory backing the kobject can     
1722           goes completely against the princip    
1723                                                  
1724           If you say Y here, the kernel will     
1725           on the last reference count to impr    
1726           kind of kobject release bug.           
1727                                                  
1728 config HAVE_DEBUG_BUGVERBOSE                     
1729         bool                                     
1730                                                  
1731 menu "Debug kernel data structures"              
1732                                                  
1733 config DEBUG_LIST                                
1734         bool "Debug linked list manipulation"    
1735         depends on DEBUG_KERNEL                  
1736         select LIST_HARDENED                     
1737         help                                     
1738           Enable this to turn on extended che    
1739           routines.                              
1740                                                  
1741           This option trades better quality e    
1742           is more suitable for kernel debuggi    
1743           you should only enable CONFIG_LIST_    
1744                                                  
1745           If unsure, say N.                      
1746                                                  
1747 config DEBUG_PLIST                               
1748         bool "Debug priority linked list mani    
1749         depends on DEBUG_KERNEL                  
1750         help                                     
1751           Enable this to turn on extended che    
1752           linked-list (plist) walking routine    
1753           list multiple times during each man    
1754                                                  
1755           If unsure, say N.                      
1756                                                  
1757 config DEBUG_SG                                  
1758         bool "Debug SG table operations"         
1759         depends on DEBUG_KERNEL                  
1760         help                                     
1761           Enable this to turn on checks on sc    
1762           help find problems with drivers tha    
1763           their sg tables.                       
1764                                                  
1765           If unsure, say N.                      
1766                                                  
1767 config DEBUG_NOTIFIERS                           
1768         bool "Debug notifier call chains"        
1769         depends on DEBUG_KERNEL                  
1770         help                                     
1771           Enable this to turn on sanity check    
1772           This is most useful for kernel deve    
1773           modules properly unregister themsel    
1774           This is a relatively cheap check bu    
1775           performance, say N.                    
1776                                                  
1777 config DEBUG_CLOSURES                            
1778         bool "Debug closures (bcache async wi    
1779         depends on CLOSURES                      
1780         select DEBUG_FS                          
1781         help                                     
1782           Keeps all active closures in a link    
1783           interface to list them, which makes    
1784           operations that get stuck.             
1785                                                  
1786 config DEBUG_MAPLE_TREE                          
1787         bool "Debug maple trees"                 
1788         depends on DEBUG_KERNEL                  
1789         help                                     
1790           Enable maple tree debugging informa    
1791                                                  
1792           If unsure, say N.                      
1793                                                  
1794 endmenu                                          
1795                                                  
1796 source "kernel/rcu/Kconfig.debug"                
1797                                                  
1798 config DEBUG_WQ_FORCE_RR_CPU                     
1799         bool "Force round-robin CPU selection    
1800         depends on DEBUG_KERNEL                  
1801         default n                                
1802         help                                     
1803           Workqueue used to implicitly guaran    
1804           without explicit CPU specified are     
1805           guarantee is no longer true and whi    
1806           preferred work items may be put on     
1807           parameter "workqueue.debug_force_rr    
1808           round-robin CPU selection to flush     
1809           now broken guarantee.  This config     
1810           feature by default.  When enabled,     
1811           be impacted.                           
1812                                                  
1813 config CPU_HOTPLUG_STATE_CONTROL                 
1814         bool "Enable CPU hotplug state contro    
1815         depends on DEBUG_KERNEL                  
1816         depends on HOTPLUG_CPU                   
1817         default n                                
1818         help                                     
1819           Allows to write steps between "offl    
1820           sysfs target file so states can be     
1821           option for now as the hotplug machi    
1822           restarted at arbitrary points yet.     
1823                                                  
1824           Say N if your are unsure.              
1825                                                  
1826 config LATENCYTOP                                
1827         bool "Latency measuring infrastructur    
1828         depends on DEBUG_KERNEL                  
1829         depends on STACKTRACE_SUPPORT            
1830         depends on PROC_FS                       
1831         depends on FRAME_POINTER || MIPS || P    
1832         select KALLSYMS                          
1833         select KALLSYMS_ALL                      
1834         select STACKTRACE                        
1835         select SCHEDSTATS                        
1836         help                                     
1837           Enable this option if you want to u    
1838           to find out which userspace is bloc    
1839                                                  
1840 config DEBUG_CGROUP_REF                          
1841         bool "Disable inlining of cgroup css     
1842         depends on DEBUG_KERNEL                  
1843         depends on CGROUPS                       
1844         depends on KPROBES                       
1845         default n                                
1846         help                                     
1847           Force cgroup css reference count fu    
1848           that they can be kprobed for debugg    
1849                                                  
1850 source "kernel/trace/Kconfig"                    
1851                                                  
1852 config PROVIDE_OHCI1394_DMA_INIT                 
1853         bool "Remote debugging over FireWire     
1854         depends on PCI && X86                    
1855         help                                     
1856           If you want to debug problems which    
1857           on boot and the crashing machine ha    
1858           this feature to remotely access the    
1859           over FireWire. This employs remote     
1860           specification which is now the stan    
1861                                                  
1862           With remote DMA, you can monitor th    
1863           firescope and access all memory bel    
1864           Even controlling a kernel debugger     
1865                                                  
1866           Usage:                                 
1867                                                  
1868           If ohci1394_dma=early is used as bo    
1869           all OHCI1394 controllers which are     
1870                                                  
1871           As all changes to the FireWire bus     
1872           devices cause a bus reset and there    
1873           devices, be sure to have the cable     
1874           the debugging host before booting t    
1875                                                  
1876           This code (~1k) is freed after boot    
1877           in charge of the OHCI-1394 controll    
1878                                                  
1879           See Documentation/core-api/debuggin    
1880                                                  
1881 source "samples/Kconfig"                         
1882                                                  
1883 config ARCH_HAS_DEVMEM_IS_ALLOWED                
1884         bool                                     
1885                                                  
1886 config STRICT_DEVMEM                             
1887         bool "Filter access to /dev/mem"         
1888         depends on MMU && DEVMEM                 
1889         depends on ARCH_HAS_DEVMEM_IS_ALLOWED    
1890         default y if PPC || X86 || ARM64         
1891         help                                     
1892           If this option is disabled, you all    
1893           of memory, including kernel and use    
1894           access to this is obviously disastr    
1895           be used by people debugging the ker    
1896           enabled, even in this case there ar    
1897           use due to the cache aliasing requi    
1898                                                  
1899           If this option is switched on, and     
1900           file only allows userspace access t    
1901           data regions.  This is sufficient f    
1902           users of /dev/mem.                     
1903                                                  
1904           If in doubt, say Y.                    
1905                                                  
1906 config IO_STRICT_DEVMEM                          
1907         bool "Filter I/O access to /dev/mem"     
1908         depends on STRICT_DEVMEM                 
1909         help                                     
1910           If this option is disabled, you all    
1911           io-memory regardless of whether a d    
1912           range.  Accidental access to this i    
1913           specific access can be used by peop    
1914                                                  
1915           If this option is switched on, the     
1916           userspace access to *idle* io-memor    
1917           may break traditional users of /dev    
1918           if the driver using a given range c    
1919                                                  
1920           If in doubt, say Y.                    
1921                                                  
1922 menu "$(SRCARCH) Debugging"                      
1923                                                  
1924 source "arch/$(SRCARCH)/Kconfig.debug"           
1925                                                  
1926 endmenu                                          
1927                                                  
1928 menu "Kernel Testing and Coverage"               
1929                                                  
1930 source "lib/kunit/Kconfig"                       
1931                                                  
1932 config NOTIFIER_ERROR_INJECTION                  
1933         tristate "Notifier error injection"      
1934         depends on DEBUG_KERNEL                  
1935         select DEBUG_FS                          
1936         help                                     
1937           This option provides the ability to    
1938           specified notifier chain callbacks.    
1939           handling of notifier call chain fai    
1940                                                  
1941           Say N if unsure.                       
1942                                                  
1943 config PM_NOTIFIER_ERROR_INJECT                  
1944         tristate "PM notifier error injection    
1945         depends on PM && NOTIFIER_ERROR_INJEC    
1946         default m if PM_DEBUG                    
1947         help                                     
1948           This option provides the ability to    
1949           PM notifier chain callbacks.  It is    
1950           interface /sys/kernel/debug/notifie    
1951                                                  
1952           If the notifier call chain should b    
1953           notified, write the error code to "    
1954                                                  
1955           Example: Inject PM suspend error (-    
1956                                                  
1957           # cd /sys/kernel/debug/notifier-err    
1958           # echo -12 > actions/PM_SUSPEND_PRE    
1959           # echo mem > /sys/power/state          
1960           bash: echo: write error: Cannot all    
1961                                                  
1962           To compile this code as a module, c    
1963           be called pm-notifier-error-inject.    
1964                                                  
1965           If unsure, say N.                      
1966                                                  
1967 config OF_RECONFIG_NOTIFIER_ERROR_INJECT         
1968         tristate "OF reconfig notifier error     
1969         depends on OF_DYNAMIC && NOTIFIER_ERR    
1970         help                                     
1971           This option provides the ability to    
1972           OF reconfig notifier chain callback    
1973           through debugfs interface under        
1974           /sys/kernel/debug/notifier-error-in    
1975                                                  
1976           If the notifier call chain should b    
1977           notified, write the error code to "    
1978                                                  
1979           To compile this code as a module, c    
1980           be called of-reconfig-notifier-erro    
1981                                                  
1982           If unsure, say N.                      
1983                                                  
1984 config NETDEV_NOTIFIER_ERROR_INJECT              
1985         tristate "Netdev notifier error injec    
1986         depends on NET && NOTIFIER_ERROR_INJE    
1987         help                                     
1988           This option provides the ability to    
1989           netdevice notifier chain callbacks.    
1990           interface /sys/kernel/debug/notifie    
1991                                                  
1992           If the notifier call chain should b    
1993           notified, write the error code to "    
1994                                                  
1995           Example: Inject netdevice mtu chang    
1996                                                  
1997           # cd /sys/kernel/debug/notifier-err    
1998           # echo -22 > actions/NETDEV_CHANGEM    
1999           # ip link set eth0 mtu 1024            
2000           RTNETLINK answers: Invalid argument    
2001                                                  
2002           To compile this code as a module, c    
2003           be called netdev-notifier-error-inj    
2004                                                  
2005           If unsure, say N.                      
2006                                                  
2007 config FUNCTION_ERROR_INJECTION                  
2008         bool "Fault-injections of functions"     
2009         depends on HAVE_FUNCTION_ERROR_INJECT    
2010         help                                     
2011           Add fault injections into various f    
2012           ALLOW_ERROR_INJECTION() in the kern    
2013           value of these functions. This is u    
2014                                                  
2015           If unsure, say N                       
2016                                                  
2017 config FAULT_INJECTION                           
2018         bool "Fault-injection framework"         
2019         depends on DEBUG_KERNEL                  
2020         help                                     
2021           Provide fault-injection framework.     
2022           For more details, see Documentation    
2023                                                  
2024 config FAILSLAB                                  
2025         bool "Fault-injection capability for     
2026         depends on FAULT_INJECTION               
2027         help                                     
2028           Provide fault-injection capability     
2029                                                  
2030 config FAIL_PAGE_ALLOC                           
2031         bool "Fault-injection capability for     
2032         depends on FAULT_INJECTION               
2033         help                                     
2034           Provide fault-injection capability     
2035                                                  
2036 config FAULT_INJECTION_USERCOPY                  
2037         bool "Fault injection capability for     
2038         depends on FAULT_INJECTION               
2039         help                                     
2040           Provides fault-injection capability    
2041           in usercopy functions (copy_from_us    
2042                                                  
2043 config FAIL_MAKE_REQUEST                         
2044         bool "Fault-injection capability for     
2045         depends on FAULT_INJECTION && BLOCK      
2046         help                                     
2047           Provide fault-injection capability     
2048                                                  
2049 config FAIL_IO_TIMEOUT                           
2050         bool "Fault-injection capability for     
2051         depends on FAULT_INJECTION && BLOCK      
2052         help                                     
2053           Provide fault-injection capability     
2054           will make the block layer "forget"     
2055           thus exercising the error handling.    
2056                                                  
2057           Only works with drivers that use th    
2058           for others it won't do anything.       
2059                                                  
2060 config FAIL_FUTEX                                
2061         bool "Fault-injection capability for     
2062         select DEBUG_FS                          
2063         depends on FAULT_INJECTION && FUTEX      
2064         help                                     
2065           Provide fault-injection capability     
2066                                                  
2067 config FAULT_INJECTION_DEBUG_FS                  
2068         bool "Debugfs entries for fault-injec    
2069         depends on FAULT_INJECTION && SYSFS &    
2070         help                                     
2071           Enable configuration of fault-injec    
2072                                                  
2073 config FAIL_FUNCTION                             
2074         bool "Fault-injection capability for     
2075         depends on FAULT_INJECTION_DEBUG_FS &    
2076         help                                     
2077           Provide function-based fault-inject    
2078           This will allow you to override a s    
2079           with given return value. As a resul    
2080           an error value and have to handle i    
2081           error handling in various subsystem    
2082                                                  
2083 config FAIL_MMC_REQUEST                          
2084         bool "Fault-injection capability for     
2085         depends on FAULT_INJECTION_DEBUG_FS &    
2086         help                                     
2087           Provide fault-injection capability     
2088           This will make the mmc core return     
2089           useful to test the error handling i    
2090           and to test how the mmc host driver    
2091           the block device.                      
2092                                                  
2093 config FAIL_SUNRPC                               
2094         bool "Fault-injection capability for     
2095         depends on FAULT_INJECTION_DEBUG_FS &    
2096         help                                     
2097           Provide fault-injection capability     
2098           its consumers.                         
2099                                                  
2100 config FAULT_INJECTION_CONFIGFS                  
2101         bool "Configfs interface for fault-in    
2102         depends on FAULT_INJECTION               
2103         select CONFIGFS_FS                       
2104         help                                     
2105           This option allows configfs-based d    
2106           fault-injection via configfs.  Each    
2107           fault-injection can be made visible    
2108           configfs group.                        
2109                                                  
2110                                                  
2111 config FAULT_INJECTION_STACKTRACE_FILTER         
2112         bool "stacktrace filter for fault-inj    
2113         depends on FAULT_INJECTION               
2114         depends on (FAULT_INJECTION_DEBUG_FS     
2115         select STACKTRACE                        
2116         depends on FRAME_POINTER || MIPS || P    
2117         help                                     
2118           Provide stacktrace filter for fault    
2119                                                  
2120 config ARCH_HAS_KCOV                             
2121         bool                                     
2122         help                                     
2123           An architecture should select this     
2124           build and run with CONFIG_KCOV. Thi    
2125           disabling instrumentation for some     
2126                                                  
2127 config CC_HAS_SANCOV_TRACE_PC                    
2128         def_bool $(cc-option,-fsanitize-cover    
2129                                                  
2130                                                  
2131 config KCOV                                      
2132         bool "Code coverage for fuzzing"         
2133         depends on ARCH_HAS_KCOV                 
2134         depends on CC_HAS_SANCOV_TRACE_PC ||     
2135         depends on !ARCH_WANTS_NO_INSTR || HA    
2136                    GCC_VERSION >= 120000 || C    
2137         select DEBUG_FS                          
2138         select GCC_PLUGIN_SANCOV if !CC_HAS_S    
2139         select OBJTOOL if HAVE_NOINSTR_HACK      
2140         help                                     
2141           KCOV exposes kernel code coverage i    
2142           for coverage-guided fuzzing (random    
2143                                                  
2144           For more details, see Documentation    
2145                                                  
2146 config KCOV_ENABLE_COMPARISONS                   
2147         bool "Enable comparison operands coll    
2148         depends on KCOV                          
2149         depends on $(cc-option,-fsanitize-cov    
2150         help                                     
2151           KCOV also exposes operands of every    
2152           code along with operand sizes and P    
2153           These operands can be used by fuzzi    
2154           of fuzzing coverage.                   
2155                                                  
2156 config KCOV_INSTRUMENT_ALL                       
2157         bool "Instrument all code by default"    
2158         depends on KCOV                          
2159         default y                                
2160         help                                     
2161           If you are doing generic system cal    
2162           then you will want to instrument th    
2163           say y here. If you are doing more t    
2164           filesystem fuzzing with AFL) then y    
2165           for more specific subsets of files,    
2166                                                  
2167 config KCOV_IRQ_AREA_SIZE                        
2168         hex "Size of interrupt coverage colle    
2169         depends on KCOV                          
2170         default 0x40000                          
2171         help                                     
2172           KCOV uses preallocated per-cpu area    
2173           soft interrupts. This specifies the    
2174           number of unsigned long words.         
2175                                                  
2176 menuconfig RUNTIME_TESTING_MENU                  
2177         bool "Runtime Testing"                   
2178         default y                                
2179                                                  
2180 if RUNTIME_TESTING_MENU                          
2181                                                  
2182 config TEST_DHRY                                 
2183         tristate "Dhrystone benchmark test"      
2184         help                                     
2185           Enable this to include the Dhryston    
2186           calculates the number of Dhrystones    
2187           DMIPS (Dhrystone MIPS) obtained whe    
2188           by 1757 (the number of Dhrystones p    
2189           11/780, nominally a 1 MIPS machine)    
2190                                                  
2191           To run the benchmark, it needs to b    
2192           the kernel command line (when built    
2193           built-in or modular).                  
2194                                                  
2195           Run once during kernel boot:           
2196                                                  
2197               test_dhry.run                      
2198                                                  
2199           Set number of iterations from kerne    
2200                                                  
2201               test_dhry.iterations=<n>           
2202                                                  
2203           Set number of iterations from users    
2204                                                  
2205               echo <n> > /sys/module/test_dhr    
2206                                                  
2207           Trigger manual run from userspace:     
2208                                                  
2209               echo y > /sys/module/test_dhry/    
2210                                                  
2211           If the number of iterations is <= 0    
2212           number of iterations (test runs for    
2213           This process takes ca. 4s.             
2214                                                  
2215           If unsure, say N.                      
2216                                                  
2217 config LKDTM                                     
2218         tristate "Linux Kernel Dump Test Tool    
2219         depends on DEBUG_FS                      
2220         help                                     
2221         This module enables testing of the di    
2222         inducing system failures at predefine    
2223         If you don't need it: say N              
2224         Choose M here to compile this code as    
2225         called lkdtm.                            
2226                                                  
2227         Documentation on how to use the modul    
2228         Documentation/fault-injection/provoke    
2229                                                  
2230 config CPUMASK_KUNIT_TEST                        
2231         tristate "KUnit test for cpumask" if     
2232         depends on KUNIT                         
2233         default KUNIT_ALL_TESTS                  
2234         help                                     
2235           Enable to turn on cpumask tests, ru    
2236                                                  
2237           For more information on KUnit and u    
2238           to the KUnit documentation in Docum    
2239                                                  
2240           If unsure, say N.                      
2241                                                  
2242 config TEST_LIST_SORT                            
2243         tristate "Linked list sorting test" i    
2244         depends on KUNIT                         
2245         default KUNIT_ALL_TESTS                  
2246         help                                     
2247           Enable this to turn on 'list_sort()    
2248           executed only once during system bo    
2249           or at module load time.                
2250                                                  
2251           If unsure, say N.                      
2252                                                  
2253 config TEST_MIN_HEAP                             
2254         tristate "Min heap test"                 
2255         depends on DEBUG_KERNEL || m             
2256         help                                     
2257           Enable this to turn on min heap fun    
2258           executed only once during system bo    
2259           or at module load time.                
2260                                                  
2261           If unsure, say N.                      
2262                                                  
2263 config TEST_SORT                                 
2264         tristate "Array-based sort test" if !    
2265         depends on KUNIT                         
2266         default KUNIT_ALL_TESTS                  
2267         help                                     
2268           This option enables the self-test f    
2269           or at module load time.                
2270                                                  
2271           If unsure, say N.                      
2272                                                  
2273 config TEST_DIV64                                
2274         tristate "64bit/32bit division and mo    
2275         depends on DEBUG_KERNEL || m             
2276         help                                     
2277           Enable this to turn on 'do_div()' f    
2278           executed only once during system bo    
2279           or at module load time.                
2280                                                  
2281           If unsure, say N.                      
2282                                                  
2283 config TEST_IOV_ITER                             
2284         tristate "Test iov_iter operation" if    
2285         depends on KUNIT                         
2286         depends on MMU                           
2287         default KUNIT_ALL_TESTS                  
2288         help                                     
2289           Enable this to turn on testing of t    
2290           (iov_iter). This test is executed o    
2291           affects only boot time), or at modu    
2292                                                  
2293           If unsure, say N.                      
2294                                                  
2295 config KPROBES_SANITY_TEST                       
2296         tristate "Kprobes sanity tests" if !K    
2297         depends on DEBUG_KERNEL                  
2298         depends on KPROBES                       
2299         depends on KUNIT                         
2300         select STACKTRACE if ARCH_CORRECT_STA    
2301         default KUNIT_ALL_TESTS                  
2302         help                                     
2303           This option provides for testing ba    
2304           boot. Samples of kprobe and kretpro    
2305           verified for functionality.            
2306                                                  
2307           Say N if you are unsure.               
2308                                                  
2309 config FPROBE_SANITY_TEST                        
2310         bool "Self test for fprobe"              
2311         depends on DEBUG_KERNEL                  
2312         depends on FPROBE                        
2313         depends on KUNIT=y                       
2314         help                                     
2315           This option will enable testing the    
2316           A series of tests are made to verif    
2317           properly.                              
2318                                                  
2319           Say N if you are unsure.               
2320                                                  
2321 config BACKTRACE_SELF_TEST                       
2322         tristate "Self test for the backtrace    
2323         depends on DEBUG_KERNEL                  
2324         help                                     
2325           This option provides a kernel modul    
2326           the kernel stack backtrace code. Th    
2327           for distributions or general kernel    
2328           developers working on architecture     
2329                                                  
2330           Note that if you want to also test     
2331           have to enable STACKTRACE as well.     
2332                                                  
2333           Say N if you are unsure.               
2334                                                  
2335 config TEST_REF_TRACKER                          
2336         tristate "Self test for reference tra    
2337         depends on DEBUG_KERNEL && STACKTRACE    
2338         select REF_TRACKER                       
2339         help                                     
2340           This option provides a kernel modul    
2341           using reference tracker infrastruct    
2342                                                  
2343           Say N if you are unsure.               
2344                                                  
2345 config RBTREE_TEST                               
2346         tristate "Red-Black tree test"           
2347         depends on DEBUG_KERNEL                  
2348         help                                     
2349           A benchmark measuring the performan    
2350           Also includes rbtree invariant chec    
2351                                                  
2352 config REED_SOLOMON_TEST                         
2353         tristate "Reed-Solomon library test"     
2354         depends on DEBUG_KERNEL || m             
2355         select REED_SOLOMON                      
2356         select REED_SOLOMON_ENC16                
2357         select REED_SOLOMON_DEC16                
2358         help                                     
2359           This option enables the self-test f    
2360           or at module load time.                
2361                                                  
2362           If unsure, say N.                      
2363                                                  
2364 config INTERVAL_TREE_TEST                        
2365         tristate "Interval tree test"            
2366         depends on DEBUG_KERNEL                  
2367         select INTERVAL_TREE                     
2368         help                                     
2369           A benchmark measuring the performan    
2370                                                  
2371 config PERCPU_TEST                               
2372         tristate "Per cpu operations test"       
2373         depends on m && DEBUG_KERNEL             
2374         help                                     
2375           Enable this option to build test mo    
2376           operations.                            
2377                                                  
2378           If unsure, say N.                      
2379                                                  
2380 config ATOMIC64_SELFTEST                         
2381         tristate "Perform an atomic64_t self-    
2382         help                                     
2383           Enable this option to test the atom    
2384           at module load time.                   
2385                                                  
2386           If unsure, say N.                      
2387                                                  
2388 config ASYNC_RAID6_TEST                          
2389         tristate "Self test for hardware acce    
2390         depends on ASYNC_RAID6_RECOV             
2391         select ASYNC_MEMCPY                      
2392         help                                     
2393           This is a one-shot self test that p    
2394           recovery of all the possible two di    
2395           N-disk array.  Recovery is performe    
2396           raid6 recovery routines, and will o    
2397           engine if one is available.            
2398                                                  
2399           If unsure, say N.                      
2400                                                  
2401 config TEST_HEXDUMP                              
2402         tristate "Test functions located in t    
2403                                                  
2404 config STRING_KUNIT_TEST                         
2405         tristate "KUnit test string functions    
2406         depends on KUNIT                         
2407         default KUNIT_ALL_TESTS                  
2408                                                  
2409 config STRING_HELPERS_KUNIT_TEST                 
2410         tristate "KUnit test string helpers a    
2411         depends on KUNIT                         
2412         default KUNIT_ALL_TESTS                  
2413                                                  
2414 config TEST_KSTRTOX                              
2415         tristate "Test kstrto*() family of fu    
2416                                                  
2417 config TEST_PRINTF                               
2418         tristate "Test printf() family of fun    
2419                                                  
2420 config TEST_SCANF                                
2421         tristate "Test scanf() family of func    
2422                                                  
2423 config TEST_BITMAP                               
2424         tristate "Test bitmap_*() family of f    
2425         help                                     
2426           Enable this option to test the bitm    
2427                                                  
2428           If unsure, say N.                      
2429                                                  
2430 config TEST_UUID                                 
2431         tristate "Test functions located in t    
2432                                                  
2433 config TEST_XARRAY                               
2434         tristate "Test the XArray code at run    
2435                                                  
2436 config TEST_MAPLE_TREE                           
2437         tristate "Test the Maple Tree code at    
2438         help                                     
2439           Enable this option to test the mapl    
2440           when the module is loaded. Enable "    
2441           more verbose output on failures.       
2442                                                  
2443           If unsure, say N.                      
2444                                                  
2445 config TEST_RHASHTABLE                           
2446         tristate "Perform selftest on resizab    
2447         help                                     
2448           Enable this option to test the rhas    
2449                                                  
2450           If unsure, say N.                      
2451                                                  
2452 config TEST_IDA                                  
2453         tristate "Perform selftest on IDA fun    
2454                                                  
2455 config TEST_PARMAN                               
2456         tristate "Perform selftest on priorit    
2457         depends on PARMAN                        
2458         help                                     
2459           Enable this option to test priority    
2460           (or module load).                      
2461                                                  
2462           If unsure, say N.                      
2463                                                  
2464 config TEST_IRQ_TIMINGS                          
2465         bool "IRQ timings selftest"              
2466         depends on IRQ_TIMINGS                   
2467         help                                     
2468           Enable this option to test the irq     
2469                                                  
2470           If unsure, say N.                      
2471                                                  
2472 config TEST_LKM                                  
2473         tristate "Test module loading with 'h    
2474         depends on m                             
2475         help                                     
2476           This builds the "test_module" modul    
2477           on printk when loaded. It is design    
2478           evaluation of the module loading su    
2479           validating module verification). It    
2480           and will not normally be loaded by     
2481           requested by name.                     
2482                                                  
2483           If unsure, say N.                      
2484                                                  
2485 config TEST_BITOPS                               
2486         tristate "Test module for compilation    
2487         help                                     
2488           This builds the "test_bitops" modul    
2489           TEST_LKM module except that it does    
2490           set/clear_bit macros and get_count_    
2491           no compiler warnings from C=1 spars    
2492           compilations. It has no dependencie    
2493           explicitly requested by name.  for     
2494                                                  
2495           If unsure, say N.                      
2496                                                  
2497 config TEST_VMALLOC                              
2498         tristate "Test module for stress/perf    
2499         default n                                
2500        depends on MMU                            
2501         depends on m                             
2502         help                                     
2503           This builds the "test_vmalloc" modu    
2504           stress and performance analysis. So    
2505           subsystem can be evaluated from per    
2506           of view.                               
2507                                                  
2508           If unsure, say N.                      
2509                                                  
2510 config TEST_BPF                                  
2511         tristate "Test BPF filter functionali    
2512         depends on m && NET                      
2513         help                                     
2514           This builds the "test_bpf" module t    
2515           against the BPF interpreter or BPF     
2516           current setting. This is in particu    
2517           development, but also to run regres    
2518           the interpreter code. It also enabl    
2519           verifier used by user space verifie    
2520                                                  
2521           If unsure, say N.                      
2522                                                  
2523 config TEST_BLACKHOLE_DEV                        
2524         tristate "Test blackhole netdev funct    
2525         depends on m && NET                      
2526         help                                     
2527           This builds the "test_blackhole_dev    
2528           data path through this blackhole ne    
2529                                                  
2530           If unsure, say N.                      
2531                                                  
2532 config FIND_BIT_BENCHMARK                        
2533         tristate "Test find_bit functions"       
2534         help                                     
2535           This builds the "test_find_bit" mod    
2536           functions performance.                 
2537                                                  
2538           If unsure, say N.                      
2539                                                  
2540 config TEST_FIRMWARE                             
2541         tristate "Test firmware loading via u    
2542         depends on FW_LOADER                     
2543         help                                     
2544           This builds the "test_firmware" mod    
2545           interface for testing firmware load    
2546           control the triggering of firmware     
2547           actual firmware-using device. The c    
2548           userspace.                             
2549                                                  
2550           If unsure, say N.                      
2551                                                  
2552 config TEST_SYSCTL                               
2553         tristate "sysctl test driver"            
2554         depends on PROC_SYSCTL                   
2555         help                                     
2556           This builds the "test_sysctl" modul    
2557           proc sysctl interfaces available to    
2558           production knobs which might alter     
2559                                                  
2560           If unsure, say N.                      
2561                                                  
2562 config BITFIELD_KUNIT                            
2563         tristate "KUnit test bitfield functio    
2564         depends on KUNIT                         
2565         default KUNIT_ALL_TESTS                  
2566         help                                     
2567           Enable this option to test the bitf    
2568                                                  
2569           KUnit tests run during boot and out    
2570           in TAP format (http://testanything.    
2571           running the KUnit test harness, and    
2572           production build.                      
2573                                                  
2574           For more information on KUnit and u    
2575           to the KUnit documentation in Docum    
2576                                                  
2577           If unsure, say N.                      
2578                                                  
2579 config CHECKSUM_KUNIT                            
2580         tristate "KUnit test checksum functio    
2581         depends on KUNIT                         
2582         default KUNIT_ALL_TESTS                  
2583         help                                     
2584           Enable this option to test the chec    
2585                                                  
2586           KUnit tests run during boot and out    
2587           in TAP format (http://testanything.    
2588           running the KUnit test harness, and    
2589           production build.                      
2590                                                  
2591           For more information on KUnit and u    
2592           to the KUnit documentation in Docum    
2593                                                  
2594           If unsure, say N.                      
2595                                                  
2596 config HASH_KUNIT_TEST                           
2597         tristate "KUnit Test for integer hash    
2598         depends on KUNIT                         
2599         default KUNIT_ALL_TESTS                  
2600         help                                     
2601           Enable this option to test the kern    
2602           integer (<linux/hash.h>) hash funct    
2603                                                  
2604           KUnit tests run during boot and out    
2605           in TAP format (https://testanything    
2606           running the KUnit test harness, and    
2607           production build.                      
2608                                                  
2609           For more information on KUnit and u    
2610           to the KUnit documentation in Docum    
2611                                                  
2612           This is intended to help people wri    
2613           optimized versions. If unsure, say     
2614                                                  
2615 config RESOURCE_KUNIT_TEST                       
2616         tristate "KUnit test for resource API    
2617         depends on KUNIT                         
2618         default KUNIT_ALL_TESTS                  
2619         help                                     
2620           This builds the resource API unit t    
2621           Tests the logic of API provided by     
2622           For more information on KUnit and u    
2623           to the KUnit documentation in Docum    
2624                                                  
2625           If unsure, say N.                      
2626                                                  
2627 config SYSCTL_KUNIT_TEST                         
2628         tristate "KUnit test for sysctl" if !    
2629         depends on KUNIT                         
2630         default KUNIT_ALL_TESTS                  
2631         help                                     
2632           This builds the proc sysctl unit te    
2633           Tests the API contract and implemen    
2634           For more information on KUnit and u    
2635           to the KUnit documentation in Docum    
2636                                                  
2637           If unsure, say N.                      
2638                                                  
2639 config LIST_KUNIT_TEST                           
2640         tristate "KUnit Test for Kernel Linke    
2641         depends on KUNIT                         
2642         default KUNIT_ALL_TESTS                  
2643         help                                     
2644           This builds the linked list KUnit t    
2645           It tests that the API and basic fun    
2646           and associated macros.                 
2647                                                  
2648           KUnit tests run during boot and out    
2649           in TAP format (https://testanything    
2650           running the KUnit test harness, and    
2651           production build.                      
2652                                                  
2653           For more information on KUnit and u    
2654           to the KUnit documentation in Docum    
2655                                                  
2656           If unsure, say N.                      
2657                                                  
2658 config HASHTABLE_KUNIT_TEST                      
2659         tristate "KUnit Test for Kernel Hasht    
2660         depends on KUNIT                         
2661         default KUNIT_ALL_TESTS                  
2662         help                                     
2663           This builds the hashtable KUnit tes    
2664           It tests the basic functionality of    
2665           include/linux/hashtable.h. For more    
2666           unit tests in general please refer     
2667           in Documentation/dev-tools/kunit/.     
2668                                                  
2669           If unsure, say N.                      
2670                                                  
2671 config LINEAR_RANGES_TEST                        
2672         tristate "KUnit test for linear_range    
2673         depends on KUNIT                         
2674         select LINEAR_RANGES                     
2675         help                                     
2676           This builds the linear_ranges unit     
2677           Tests the linear_ranges logic corre    
2678           For more information on KUnit and u    
2679           to the KUnit documentation in Docum    
2680                                                  
2681           If unsure, say N.                      
2682                                                  
2683 config CMDLINE_KUNIT_TEST                        
2684         tristate "KUnit test for cmdline API"    
2685         depends on KUNIT                         
2686         default KUNIT_ALL_TESTS                  
2687         help                                     
2688           This builds the cmdline API unit te    
2689           Tests the logic of API provided by     
2690           For more information on KUnit and u    
2691           to the KUnit documentation in Docum    
2692                                                  
2693           If unsure, say N.                      
2694                                                  
2695 config BITS_TEST                                 
2696         tristate "KUnit test for bits.h" if !    
2697         depends on KUNIT                         
2698         default KUNIT_ALL_TESTS                  
2699         help                                     
2700           This builds the bits unit test.        
2701           Tests the logic of macros defined i    
2702           For more information on KUnit and u    
2703           to the KUnit documentation in Docum    
2704                                                  
2705           If unsure, say N.                      
2706                                                  
2707 config SLUB_KUNIT_TEST                           
2708         tristate "KUnit test for SLUB cache e    
2709         depends on SLUB_DEBUG && KUNIT           
2710         default KUNIT_ALL_TESTS                  
2711         help                                     
2712           This builds SLUB allocator unit tes    
2713           Tests SLUB cache debugging function    
2714           For more information on KUnit and u    
2715           to the KUnit documentation in Docum    
2716                                                  
2717           If unsure, say N.                      
2718                                                  
2719 config RATIONAL_KUNIT_TEST                       
2720         tristate "KUnit test for rational.c"     
2721         depends on KUNIT && RATIONAL             
2722         default KUNIT_ALL_TESTS                  
2723         help                                     
2724           This builds the rational math unit     
2725           For more information on KUnit and u    
2726           to the KUnit documentation in Docum    
2727                                                  
2728           If unsure, say N.                      
2729                                                  
2730 config MEMCPY_KUNIT_TEST                         
2731         tristate "Test memcpy(), memmove(), a    
2732         depends on KUNIT                         
2733         default KUNIT_ALL_TESTS                  
2734         help                                     
2735           Builds unit tests for memcpy(), mem    
2736           For more information on KUnit and u    
2737           to the KUnit documentation in Docum    
2738                                                  
2739           If unsure, say N.                      
2740                                                  
2741 config IS_SIGNED_TYPE_KUNIT_TEST                 
2742         tristate "Test is_signed_type() macro    
2743         depends on KUNIT                         
2744         default KUNIT_ALL_TESTS                  
2745         help                                     
2746           Builds unit tests for the is_signed    
2747                                                  
2748           For more information on KUnit and u    
2749           to the KUnit documentation in Docum    
2750                                                  
2751           If unsure, say N.                      
2752                                                  
2753 config OVERFLOW_KUNIT_TEST                       
2754         tristate "Test check_*_overflow() fun    
2755         depends on KUNIT                         
2756         default KUNIT_ALL_TESTS                  
2757         help                                     
2758           Builds unit tests for the check_*_o    
2759           related functions.                     
2760                                                  
2761           For more information on KUnit and u    
2762           to the KUnit documentation in Docum    
2763                                                  
2764           If unsure, say N.                      
2765                                                  
2766 config STACKINIT_KUNIT_TEST                      
2767         tristate "Test level of stack variabl    
2768         depends on KUNIT                         
2769         default KUNIT_ALL_TESTS                  
2770         help                                     
2771           Test if the kernel is zero-initiali    
2772           padding. Coverage is controlled by     
2773           CONFIG_INIT_STACK_ALL_PATTERN, CONF    
2774           CONFIG_GCC_PLUGIN_STRUCTLEAK, CONFI    
2775           or CONFIG_GCC_PLUGIN_STRUCTLEAK_BYR    
2776                                                  
2777 config FORTIFY_KUNIT_TEST                        
2778         tristate "Test fortified str*() and m    
2779         depends on KUNIT                         
2780         default KUNIT_ALL_TESTS                  
2781         help                                     
2782           Builds unit tests for checking inte    
2783           by the str*() and mem*() family of     
2784           traps of FORTIFY_SOURCE, see LKDTM'    
2785                                                  
2786 config HW_BREAKPOINT_KUNIT_TEST                  
2787         bool "Test hw_breakpoint constraints     
2788         depends on HAVE_HW_BREAKPOINT            
2789         depends on KUNIT=y                       
2790         default KUNIT_ALL_TESTS                  
2791         help                                     
2792           Tests for hw_breakpoint constraints    
2793                                                  
2794           If unsure, say N.                      
2795                                                  
2796 config SIPHASH_KUNIT_TEST                        
2797         tristate "Perform selftest on siphash    
2798         depends on KUNIT                         
2799         default KUNIT_ALL_TESTS                  
2800         help                                     
2801           Enable this option to test the kern    
2802           functions on boot (or module load).    
2803                                                  
2804           This is intended to help people wri    
2805           optimized versions.  If unsure, say    
2806                                                  
2807 config USERCOPY_KUNIT_TEST                       
2808         tristate "KUnit Test for user/kernel     
2809         depends on KUNIT                         
2810         default KUNIT_ALL_TESTS                  
2811         help                                     
2812           This builds the "usercopy_kunit" mo    
2813           on the copy_to/from_user infrastruc    
2814           user/kernel boundary testing is wor    
2815                                                  
2816 config TEST_UDELAY                               
2817         tristate "udelay test driver"            
2818         help                                     
2819           This builds the "udelay_test" modul    
2820           that udelay() is working properly.     
2821                                                  
2822           If unsure, say N.                      
2823                                                  
2824 config TEST_STATIC_KEYS                          
2825         tristate "Test static keys"              
2826         depends on m                             
2827         help                                     
2828           Test the static key interfaces.        
2829                                                  
2830           If unsure, say N.                      
2831                                                  
2832 config TEST_DYNAMIC_DEBUG                        
2833         tristate "Test DYNAMIC_DEBUG"            
2834         depends on DYNAMIC_DEBUG                 
2835         help                                     
2836           This module registers a tracer call    
2837           pr_debugs in a 'do_debugging' funct    
2838           enablements, calls the function, an    
2839                                                  
2840           If unsure, say N.                      
2841                                                  
2842 config TEST_KMOD                                 
2843         tristate "kmod stress tester"            
2844         depends on m                             
2845         depends on NETDEVICES && NET_CORE &&     
2846         depends on BLOCK                         
2847         depends on PAGE_SIZE_LESS_THAN_256KB     
2848         select TEST_LKM                          
2849         select XFS_FS                            
2850         select TUN                               
2851         select BTRFS_FS                          
2852         help                                     
2853           Test the kernel's module loading me    
2854           support to load modules using the L    
2855           This test provides a series of test    
2856                                                  
2857           Although technically you can either    
2858           into the kernel we disallow buildin    
2859           it stress tests request_module() an    
2860           some issues by taking over precious    
2861           module load requests, ultimately th    
2862                                                  
2863           To run tests run:                      
2864                                                  
2865           tools/testing/selftests/kmod/kmod.s    
2866                                                  
2867           If unsure, say N.                      
2868                                                  
2869 config TEST_DEBUG_VIRTUAL                        
2870         tristate "Test CONFIG_DEBUG_VIRTUAL f    
2871         depends on DEBUG_VIRTUAL                 
2872         help                                     
2873           Test the kernel's ability to detect    
2874           virt_to_phys() done against the non    
2875           kernel's virtual address map.          
2876                                                  
2877           If unsure, say N.                      
2878                                                  
2879 config TEST_MEMCAT_P                             
2880         tristate "Test memcat_p() helper func    
2881         help                                     
2882           Test the memcat_p() helper for corr    
2883           pointer arrays together.               
2884                                                  
2885           If unsure, say N.                      
2886                                                  
2887 config TEST_OBJAGG                               
2888         tristate "Perform selftest on object     
2889         default n                                
2890         depends on OBJAGG                        
2891         help                                     
2892           Enable this option to test object a    
2893           (or module load).                      
2894                                                  
2895 config TEST_MEMINIT                              
2896         tristate "Test heap/page initializati    
2897         help                                     
2898           Test if the kernel is zero-initiali    
2899           This can be useful to test init_on_    
2900                                                  
2901           If unsure, say N.                      
2902                                                  
2903 config TEST_HMM                                  
2904         tristate "Test HMM (Heterogeneous Mem    
2905         depends on TRANSPARENT_HUGEPAGE          
2906         depends on DEVICE_PRIVATE                
2907         select HMM_MIRROR                        
2908         select MMU_NOTIFIER                      
2909         help                                     
2910           This is a pseudo device driver sole    
2911           Say M here if you want to build the    
2912           Doing so will allow you to run tool    
2913                                                  
2914           If unsure, say N.                      
2915                                                  
2916 config TEST_FREE_PAGES                           
2917         tristate "Test freeing pages"            
2918         help                                     
2919           Test that a memory leak does not oc    
2920           freeing a block of pages and a spec    
2921           Loading this module is safe if your    
2922           If the bug is not fixed, it will le    
2923           probably OOM your system.              
2924                                                  
2925 config TEST_FPU                                  
2926         tristate "Test floating point operati    
2927         depends on ARCH_HAS_KERNEL_FPU_SUPPOR    
2928         help                                     
2929           Enable this option to add /sys/kern    
2930           which will trigger a sequence of fl    
2931           for self-testing floating point con    
2932           kernel_fpu_begin().                    
2933                                                  
2934           If unsure, say N.                      
2935                                                  
2936 config TEST_CLOCKSOURCE_WATCHDOG                 
2937         tristate "Test clocksource watchdog i    
2938         depends on CLOCKSOURCE_WATCHDOG          
2939         help                                     
2940           Enable this option to create a kern    
2941           a test of the clocksource watchdog.    
2942           via modprobe or insmod in which cas    
2943           loaded, or it may be built in, in w    
2944           shortly after boot.                    
2945                                                  
2946           If unsure, say N.                      
2947                                                  
2948 config TEST_OBJPOOL                              
2949         tristate "Test module for correctness    
2950         default n                                
2951         depends on m && DEBUG_KERNEL             
2952         help                                     
2953           This builds the "test_objpool" modu    
2954           correctness verification and concur    
2955           allocation and reclamation.            
2956                                                  
2957           If unsure, say N.                      
2958                                                  
2959 endif # RUNTIME_TESTING_MENU                     
2960                                                  
2961 config ARCH_USE_MEMTEST                          
2962         bool                                     
2963         help                                     
2964           An architecture should select this     
2965           during boot process.                   
2966                                                  
2967 config MEMTEST                                   
2968         bool "Memtest"                           
2969         depends on ARCH_USE_MEMTEST              
2970         help                                     
2971           This option adds a kernel parameter    
2972           to be set and executed.                
2973                 memtest=0, mean disabled; --     
2974                 memtest=1, mean do 1 test pat    
2975                 ...                              
2976                 memtest=17, mean do 17 test p    
2977           If you are unsure how to answer thi    
2978                                                  
2979                                                  
2980                                                  
2981 config HYPERV_TESTING                            
2982         bool "Microsoft Hyper-V driver testin    
2983         default n                                
2984         depends on HYPERV && DEBUG_FS            
2985         help                                     
2986           Select this option to enable Hyper-    
2987                                                  
2988 endmenu # "Kernel Testing and Coverage"          
2989                                                  
2990 menu "Rust hacking"                              
2991                                                  
2992 config RUST_DEBUG_ASSERTIONS                     
2993         bool "Debug assertions"                  
2994         depends on RUST                          
2995         help                                     
2996           Enables rustc's `-Cdebug-assertions    
2997                                                  
2998           This flag lets you turn `cfg(debug_    
2999           compilation on or off. This can be     
3000           code in development but not in prod    
3001           the behavior of the standard librar    
3002                                                  
3003           Note that this will apply to all Ru    
3004                                                  
3005           If unsure, say N.                      
3006                                                  
3007 config RUST_OVERFLOW_CHECKS                      
3008         bool "Overflow checks"                   
3009         default y                                
3010         depends on RUST                          
3011         help                                     
3012           Enables rustc's `-Coverflow-checks`    
3013                                                  
3014           This flag allows you to control the    
3015           overflow. When overflow-checks are     
3016           on overflow.                           
3017                                                  
3018           Note that this will apply to all Ru    
3019                                                  
3020           If unsure, say Y.                      
3021                                                  
3022 config RUST_BUILD_ASSERT_ALLOW                   
3023         bool "Allow unoptimized build-time as    
3024         depends on RUST                          
3025         help                                     
3026           Controls how are `build_error!` and    
3027                                                  
3028           If calls to them exist in the binar    
3029           or that the optimizer failed to ver    
3030                                                  
3031           This should not happen, thus by def    
3032           as an escape hatch, you can choose     
3033           and let the check be carried at run    
3034           the check fails).                      
3035                                                  
3036           If unsure, say N.                      
3037                                                  
3038 config RUST_KERNEL_DOCTESTS                      
3039         bool "Doctests for the `kernel` crate    
3040         depends on RUST && KUNIT=y               
3041         default KUNIT_ALL_TESTS                  
3042         help                                     
3043           This builds the documentation tests    
3044           as KUnit tests.                        
3045                                                  
3046           For more information on KUnit and u    
3047           please refer to the KUnit documenta    
3048                                                  
3049           If unsure, say N.                      
3050                                                  
3051 endmenu # "Rust"                                 
3052                                                  
3053 endmenu # Kernel hacking                         
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php