slab: fix generic PAGE_POISONING conflict with SLAB_RED_ZONE
authorRon Lee <ron@debian.org>
Thu, 21 May 2009 19:28:22 +0000 (04:58 +0930)
committerPekka Enberg <penberg@cs.helsinki.fi>
Fri, 22 May 2009 08:01:12 +0000 (11:01 +0300)
A generic page poisoning mechanism was added with commit:
 6a11f75b6a17b5d9ac5025f8d048382fd1f47377
which destructively poisons full pages with a bitpattern.

On arches where PAGE_POISONING is used, this conflicts with the slab
redzone checking enabled by DEBUG_SLAB, scribbling bits all over its
magic words and making it complain about that quite emphatically.

On x86 (and I presume at present all the other arches which set
ARCH_SUPPORTS_DEBUG_PAGEALLOC too), the kernel_map_pages() operation
is non destructive so it can coexist with the other DEBUG_SLAB
mechanisms just fine.

This patch favours the expensive full page destruction test for
cases where there is a collision and it is explicitly selected.

Signed-off-by: Ron Lee <ron@debian.org>
Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
mm/slab.c

diff --cc mm/slab.c
Simple merge