powerpc/64: Define ILLEGAL_POINTER_VALUE for 64-bit
authorMichael Ellerman <mpe@ellerman.id.au>
Tue, 15 Nov 2016 10:59:38 +0000 (21:59 +1100)
committerMichael Ellerman <mpe@ellerman.id.au>
Fri, 2 Dec 2016 02:01:04 +0000 (13:01 +1100)
This is used in poison.h to offset poison values so that they don't
point directly into user space.

The value we choose sits roughly between user and kernel space, which
means on their own the poison values don't point anywhere useful. If an
attacker can cause an access at some offset from the poison value then
we may still be in trouble, but by putting the poison values between
user and kernel space we maximise the required size of that offset.

Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/Kconfig

index 48923c349ccb7137ac866f02b4d23c6aec518e85..48001e754ff2687bf379d755a078850266fd79b3 100644 (file)
@@ -580,6 +580,13 @@ config ARCH_SPARSEMEM_DEFAULT
 config SYS_SUPPORTS_HUGETLBFS
        bool
 
+config ILLEGAL_POINTER_VALUE
+       hex
+       # This is roughly half way between the top of user space and the bottom
+       # of kernel space, which seems about as good as we can get.
+       default 0x5deadbeef0000000 if PPC64
+       default 0
+
 source "mm/Kconfig"
 
 config ARCH_MEMORY_PROBE