Blame view

lib/Kconfig.kmemcheck 2.9 KB
0a4af3b09   Pekka Enberg   kmemcheck: make k...
1
2
  config HAVE_ARCH_KMEMCHECK
  	bool
d33c9a491   Sebastian Andrzej Siewior   kmemcheck: depend...
3
  if HAVE_ARCH_KMEMCHECK
0a4af3b09   Pekka Enberg   kmemcheck: make k...
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
  menuconfig KMEMCHECK
  	bool "kmemcheck: trap use of uninitialized memory"
  	depends on DEBUG_KERNEL
  	depends on !X86_USE_3DNOW
  	depends on SLUB || SLAB
  	depends on !CC_OPTIMIZE_FOR_SIZE
  	depends on !FUNCTION_TRACER
  	select FRAME_POINTER
  	select STACKTRACE
  	default n
  	help
  	  This option enables tracing of dynamically allocated kernel memory
  	  to see if memory is used before it has been given an initial value.
  	  Be aware that this requires half of your memory for bookkeeping and
  	  will insert extra code at *every* read and write to tracked memory
  	  thus slow down the kernel code (but user code is unaffected).
  
  	  The kernel may be started with kmemcheck=0 or kmemcheck=1 to disable
  	  or enable kmemcheck at boot-time. If the kernel is started with
  	  kmemcheck=0, the large memory and CPU overhead is not incurred.
  
  choice
  	prompt "kmemcheck: default mode at boot"
  	depends on KMEMCHECK
  	default KMEMCHECK_ONESHOT_BY_DEFAULT
  	help
  	  This option controls the default behaviour of kmemcheck when the
  	  kernel boots and no kmemcheck= parameter is given.
  
  config KMEMCHECK_DISABLED_BY_DEFAULT
  	bool "disabled"
  	depends on KMEMCHECK
  
  config KMEMCHECK_ENABLED_BY_DEFAULT
  	bool "enabled"
  	depends on KMEMCHECK
  
  config KMEMCHECK_ONESHOT_BY_DEFAULT
  	bool "one-shot"
  	depends on KMEMCHECK
  	help
  	  In one-shot mode, only the first error detected is reported before
  	  kmemcheck is disabled.
  
  endchoice
  
  config KMEMCHECK_QUEUE_SIZE
  	int "kmemcheck: error queue size"
  	depends on KMEMCHECK
  	default 64
  	help
  	  Select the maximum number of errors to store in the queue. Since
  	  errors can occur virtually anywhere and in any context, we need a
  	  temporary storage area which is guarantueed not to generate any
  	  other faults. The queue will be emptied as soon as a tasklet may
  	  be scheduled. If the queue is full, new error reports will be
  	  lost.
  
  config KMEMCHECK_SHADOW_COPY_SHIFT
  	int "kmemcheck: shadow copy size (5 => 32 bytes, 6 => 64 bytes)"
  	depends on KMEMCHECK
  	range 2 8
  	default 5
  	help
  	  Select the number of shadow bytes to save along with each entry of
  	  the queue. These bytes indicate what parts of an allocation are
  	  initialized, uninitialized, etc. and will be displayed when an
  	  error is detected to help the debugging of a particular problem.
  
  config KMEMCHECK_PARTIAL_OK
  	bool "kmemcheck: allow partially uninitialized memory"
  	depends on KMEMCHECK
  	default y
  	help
  	  This option works around certain GCC optimizations that produce
  	  32-bit reads from 16-bit variables where the upper 16 bits are
  	  thrown away afterwards. This may of course also hide some real
  	  bugs.
  
  config KMEMCHECK_BITOPS_OK
  	bool "kmemcheck: allow bit-field manipulation"
  	depends on KMEMCHECK
  	default n
  	help
  	  This option silences warnings that would be generated for bit-field
  	  accesses where not all the bits are initialized at the same time.
  	  This may also hide some real bugs.
d33c9a491   Sebastian Andrzej Siewior   kmemcheck: depend...
91
  endif