The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/lib/Kconfig.kmemcheck

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

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

Cache object: 21c34b4c420c5372619fd5d3db333d23


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.