mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-26 12:34:41 +08:00
6a11f75b6a
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>
18 lines
618 B
Plaintext
18 lines
618 B
Plaintext
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.
|