summaryrefslogtreecommitdiffstats
path: root/include/linux/poison.h
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2010-01-25 14:52:48 +0000
committerMark Brown <broonie@opensource.wolfsonmicro.com>2010-01-25 14:52:48 +0000
commitf1487fcbe47cd2bc0c71e8598bf9eb6a82dec544 (patch)
tree4c7abed6047538c13dd024a8ecffd15f31b4609a /include/linux/poison.h
parent84549d239ab9bb2e3a85c6efcf0e6478a38b4260 (diff)
parent40aa7030e5213a43e9e0554fd7f95534ea310bf3 (diff)
downloadkernel-crypto-f1487fcbe47cd2bc0c71e8598bf9eb6a82dec544.tar.gz
kernel-crypto-f1487fcbe47cd2bc0c71e8598bf9eb6a82dec544.tar.xz
kernel-crypto-f1487fcbe47cd2bc0c71e8598bf9eb6a82dec544.zip
Merge branch 'for-2.6.33' into for-2.6.34
Diffstat (limited to 'include/linux/poison.h')
-rw-r--r--include/linux/poison.h16
1 files changed, 14 insertions, 2 deletions
diff --git a/include/linux/poison.h b/include/linux/poison.h
index 7fc194aef8c..2110a81c5e2 100644
--- a/include/linux/poison.h
+++ b/include/linux/poison.h
@@ -2,13 +2,25 @@
#define _LINUX_POISON_H
/********** include/linux/list.h **********/
+
+/*
+ * Architectures might want to move the poison pointer offset
+ * into some well-recognized area such as 0xdead000000000000,
+ * that is also not mappable by user-space exploits:
+ */
+#ifdef CONFIG_ILLEGAL_POINTER_VALUE
+# define POISON_POINTER_DELTA _AC(CONFIG_ILLEGAL_POINTER_VALUE, UL)
+#else
+# define POISON_POINTER_DELTA 0
+#endif
+
/*
* 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 **********/
/*