diff options
author | Stephen Rothwell <sfr@canb.auug.org.au> | 2008-05-26 14:05:47 +1000 |
---|---|---|
committer | Stephen Rothwell <sfr@canb.auug.org.au> | 2008-05-26 14:05:47 +1000 |
commit | 9999e2eaa904f5f237c1a3adf728d83bdd60f4e8 (patch) | |
tree | 25203047aa877bd610412602bdffd746f15a0a85 | |
parent | 86ae8ec1aad12029e25922abde99aca8a7789999 (diff) | |
parent | 948f984df52511bb0efa5c026813b0c34de43aa0 (diff) |
Merge commit 'safe-poison-pointers/safe-poison-pointers'
-rw-r--r-- | arch/x86/Kconfig | 5 | ||||
-rw-r--r-- | include/linux/poison.h | 10 |
2 files changed, 13 insertions, 2 deletions
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index c4ddb6a3820b..b2445a0b6d3c 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -1025,6 +1025,11 @@ config ARCH_MEMORY_PROBE def_bool X86_64 depends on MEMORY_HOTPLUG +config ILLEGAL_POINTER_VALUE + hex + default 0 if X86_32 + default 0xffffc10000000000 if X86_64 + source "mm/Kconfig" config HIGHPTE diff --git a/include/linux/poison.h b/include/linux/poison.h index 9f31683728fd..0d105a56e668 100644 --- a/include/linux/poison.h +++ b/include/linux/poison.h @@ -1,14 +1,20 @@ #ifndef _LINUX_POISON_H #define _LINUX_POISON_H +#ifdef CONFIG_ILLEGAL_POINTER_VALUE +#define POISON_POINTER_DELTA CONFIG_ILLEGAL_POINTER_VALUE +#else +#define POISON_POINTER_DELTA 0L +#endif + /********** include/linux/list.h **********/ /* * These are non-NULL pointers that will result in page faults * under normal circumstances, used to verify that nobody uses * non-initialized list entries. */ -#define LIST_POISON1 ((void *) 0x00100100) -#define LIST_POISON2 ((void *) 0x00200200) +#define LIST_POISON1 ((void *) 0x00100100 + POISON_POINTER_DELTA) +#define LIST_POISON2 ((void *) 0x00200200 + POISON_POINTER_DELTA) /********** include/linux/timer.h **********/ /* |