#ifndef _LINUX_POISON_H
#define _LINUX_POISON_H
#ifdef CONFIG_ILLEGAL_POINTER_VALUE
# define POISON_POINTER_DELTA _AC(CONFIG_ILLEGAL_POINTER_VALUE, UL)
#else
# define POISON_POINTER_DELTA 0
#endif
#define LIST_POISON1 ((void *) 0x100 + POISON_POINTER_DELTA)
#define LIST_POISON2 ((void *) 0x122 + POISON_POINTER_DELTA)
#define TIMER_ENTRY_STATIC ((void *) 0x300 + POISON_POINTER_DELTA)
#define PAGE_POISON 0xaa
#define TAIL_MAPPING ((void *) 0x400 + POISON_POINTER_DELTA)
#define RED_INACTIVE 0x09F911029D74E35BULL /* when obj is inactive */
#define RED_ACTIVE 0xD84156C5635688C0ULL /* when obj is active */
#define SLUB_RED_INACTIVE 0xbb
#define SLUB_RED_ACTIVE 0xcc
#define POISON_INUSE 0x5a /* for use-uninitialised poisoning */
#define POISON_FREE 0x6b /* for use-after-free poisoning */
#define POISON_END 0xa5 /* end-byte of poisoning */
#define POISON_FREE_INITMEM 0xcc
#define JBD_POISON_FREE 0x5b
#define JBD2_POISON_FREE 0x5c
#define POOL_POISON_FREED 0xa7 /* !inuse */
#define POOL_POISON_ALLOCATED 0xa9 /* !initted */
#define ATM_POISON_FREE 0x12
#define ATM_POISON 0xdeadbeef
#define MUTEX_DEBUG_INIT 0x11
#define MUTEX_DEBUG_FREE 0x22
#define MUTEX_POISON_WW_CTX ((void *) 0x500 + POISON_POINTER_DELTA)
#define KEY_DESTROY 0xbd
#define PP_SIGNATURE (0x40 + POISON_POINTER_DELTA)
#define SKB_LIST_POISON_NEXT ((void *)(0x800 + POISON_POINTER_DELTA))
#define BPF_PTR_POISON ((void *)(0xeB9FUL + POISON_POINTER_DELTA))
#define VFS_PTR_POISON ((void *)(0xF5 + POISON_POINTER_DELTA))
#endif