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>
This commit is contained in:
parent
610a77e04a
commit
6a11f75b6a
16 changed files with 202 additions and 19 deletions
17
mm/Kconfig.debug
Normal file
17
mm/Kconfig.debug
Normal file
|
@ -0,0 +1,17 @@
|
|||
config WANT_PAGE_DEBUG_FLAGS
|
||||
bool
|
||||
|
||||
config PAGE_POISONING
|
||||
bool "Debug page memory allocations"
|
||||
depends on DEBUG_KERNEL && !ARCH_SUPPORTS_DEBUG_PAGEALLOC
|
||||
depends on !HIBERNATION
|
||||
select DEBUG_PAGEALLOC
|
||||
select WANT_PAGE_DEBUG_FLAGS
|
||||
help
|
||||
Fill the pages with poison patterns after free_pages() and verify
|
||||
the patterns before alloc_pages(). This results in a large slowdown,
|
||||
but helps to find certain types of memory corruptions.
|
||||
|
||||
This option cannot enalbe with hibernation. Otherwise, it will get
|
||||
wrong messages for memory corruption because the free pages are not
|
||||
saved to the suspend image.
|
Loading…
Add table
Add a link
Reference in a new issue