1 #ifndef _LINUX_POISON_H
 
   2 #define _LINUX_POISON_H
 
   4 /********** include/linux/list.h **********/
 
   6  * These are non-NULL pointers that will result in page faults
 
   7  * under normal circumstances, used to verify that nobody uses
 
   8  * non-initialized list entries.
 
  10 #define LIST_POISON1  ((void *) 0x00100100)
 
  11 #define LIST_POISON2  ((void *) 0x00200200)
 
  13 /********** include/linux/timer.h **********/
 
  15  * Magic number "tsta" to indicate a static timer initializer
 
  16  * for the object debugging code.
 
  18 #define TIMER_ENTRY_STATIC      ((void *) 0x74737461)
 
  20 /********** mm/debug-pagealloc.c **********/
 
  21 #define PAGE_POISON 0xaa
 
  23 /********** mm/slab.c **********/
 
  25  * Magic nums for obj red zoning.
 
  26  * Placed in the first word before and the first word after an obj.
 
  28 #define RED_INACTIVE    0x09F911029D74E35BULL   /* when obj is inactive */
 
  29 #define RED_ACTIVE      0xD84156C5635688C0ULL   /* when obj is active */
 
  31 #define SLUB_RED_INACTIVE       0xbb
 
  32 #define SLUB_RED_ACTIVE         0xcc
 
  34 /* ...and for poisoning */
 
  35 #define POISON_INUSE    0x5a    /* for use-uninitialised poisoning */
 
  36 #define POISON_FREE     0x6b    /* for use-after-free poisoning */
 
  37 #define POISON_END      0xa5    /* end-byte of poisoning */
 
  39 /********** arch/$ARCH/mm/init.c **********/
 
  40 #define POISON_FREE_INITMEM     0xcc
 
  42 /********** arch/ia64/hp/common/sba_iommu.c **********/
 
  44  * arch/ia64/hp/common/sba_iommu.c uses a 16-byte poison string with a
 
  45  * value of "SBAIOMMU POISON\0" for spill-over poisoning.
 
  48 /********** fs/jbd/journal.c **********/
 
  49 #define JBD_POISON_FREE         0x5b
 
  50 #define JBD2_POISON_FREE        0x5c
 
  52 /********** drivers/base/dmapool.c **********/
 
  53 #define POOL_POISON_FREED       0xa7    /* !inuse */
 
  54 #define POOL_POISON_ALLOCATED   0xa9    /* !initted */
 
  56 /********** drivers/atm/ **********/
 
  57 #define ATM_POISON_FREE         0x12
 
  58 #define ATM_POISON              0xdeadbeef
 
  60 /********** net/ **********/
 
  61 #define NEIGHBOR_DEAD           0xdeadbeef
 
  62 #define NETFILTER_LINK_POISON   0xdead57ac
 
  64 /********** kernel/mutexes **********/
 
  65 #define MUTEX_DEBUG_INIT        0x11
 
  66 #define MUTEX_DEBUG_FREE        0x22
 
  68 /********** security/ **********/
 
  69 #define KEY_DESTROY             0xbd
 
  71 /********** sound/oss/ **********/
 
  72 #define OSS_POISON_FREE         0xAB