Re: [PATCH] Make LIST_POISON less deadly

From: Avi Kivity
Date: Mon May 19 2008 - 09:25:05 EST


Ingo Molnar wrote:
+/*
+ * Define LIST_POISON[12] as pointers that cannot be dereferenced.
+ */
+#ifdef CONFIG_X86_84
+# undef LIST_POISON1
+# undef LIST_POISON2
+# define LIST_POISON1 ((void *)0x8001000100010001L)
+# define LIST_POISON2 ((void *)0x8002000200020002L)
+#endif

i'd suggest to add an ARCH_ILLEGAL_POINTER define instead, which defaults to zero and gets added to pointer-ish poison values. That makes it both simpler and also it does not need any include/asm changes because ARCH_ILLEGAL_POINTER can be set from the Kconfig space.

Right.

How much unmapped space do we have on i386 or other archs? The deltas added to ARCH_ILLEGAL_POINTER will have to be limited to that.

Maybe have ARCH_ILLEGAL_POINTER_BASE and ARCH_ILLEGAL_POINTER_RANGE, defaulting to 0 and (say) 4MB, and use the range to mask the deltas to avoid overflows into legal pointer range.

--
error compiling committee.c: too many arguments to function

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/