generic debug pagealloc
authorAkinobu Mita <akinobu.mita@gmail.com>
Tue, 31 Mar 2009 22:23:17 +0000 (15:23 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 1 Apr 2009 15:59:13 +0000 (08:59 -0700)
commit6a11f75b6a17b5d9ac5025f8d048382fd1f47377
treea3415cd897823975b927f89a233d2703bf97ba2b
parent610a77e04a8d9fe8764dc484e2182fa251ce1cc2
generic debug pagealloc

CONFIG_DEBUG_PAGEALLOC is now supported by x86, powerpc, sparc64, and
s390.  This patch implements it for the rest of the architectures by
filling the pages with poison byte patterns after free_pages() and
verifying the poison patterns before alloc_pages().

This generic one cannot detect invalid page accesses immediately but
invalid read access may cause invalid dereference by poisoned memory and
invalid write access can be detected after a long delay.

Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Cc: <linux-arch@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 files changed:
arch/avr32/mm/fault.c
arch/powerpc/Kconfig
arch/powerpc/Kconfig.debug
arch/s390/Kconfig
arch/s390/Kconfig.debug
arch/sparc/Kconfig
arch/sparc/Kconfig.debug
arch/x86/Kconfig
arch/x86/Kconfig.debug
include/linux/mm_types.h
include/linux/page-debug-flags.h [new file with mode: 0644]
include/linux/poison.h
lib/Kconfig.debug
mm/Kconfig.debug [new file with mode: 0644]
mm/Makefile
mm/debug-pagealloc.c [new file with mode: 0644]