aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/mm/kmemcheck
diff options
context:
space:
mode:
authorVegard Nossum <vegard.nossum@gmail.com>2008-11-25 10:55:53 -0500
committerVegard Nossum <vegard.nossum@gmail.com>2009-06-15 09:48:33 -0400
commitb1eeab67682a5e397aecf172046b3a8bd4808ae4 (patch)
treec357b6ac1945dc8beecc2f8c4d84660ad8d35aae /arch/x86/mm/kmemcheck
parent9b5cab31897e9e89e36c0c2a89b16b93ff1a971a (diff)
kmemcheck: add hooks for the page allocator
This adds support for tracking the initializedness of memory that was allocated with the page allocator. Highmem requests are not tracked. Cc: Dave Hansen <dave@linux.vnet.ibm.com> Acked-by: Pekka Enberg <penberg@cs.helsinki.fi> [build fix for !CONFIG_KMEMCHECK] Signed-off-by: Ingo Molnar <mingo@elte.hu> [rebased for mainline inclusion] Signed-off-by: Vegard Nossum <vegard.nossum@gmail.com>
Diffstat (limited to 'arch/x86/mm/kmemcheck')
-rw-r--r--arch/x86/mm/kmemcheck/shadow.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/x86/mm/kmemcheck/shadow.c b/arch/x86/mm/kmemcheck/shadow.c
index e7346d3873b3..e773b6bd0079 100644
--- a/arch/x86/mm/kmemcheck/shadow.c
+++ b/arch/x86/mm/kmemcheck/shadow.c
@@ -116,6 +116,14 @@ void kmemcheck_mark_uninitialized_pages(struct page *p, unsigned int n)
116 kmemcheck_mark_uninitialized(page_address(&p[i]), PAGE_SIZE); 116 kmemcheck_mark_uninitialized(page_address(&p[i]), PAGE_SIZE);
117} 117}
118 118
119void kmemcheck_mark_initialized_pages(struct page *p, unsigned int n)
120{
121 unsigned int i;
122
123 for (i = 0; i < n; ++i)
124 kmemcheck_mark_initialized(page_address(&p[i]), PAGE_SIZE);
125}
126
119enum kmemcheck_shadow kmemcheck_shadow_test(void *shadow, unsigned int size) 127enum kmemcheck_shadow kmemcheck_shadow_test(void *shadow, unsigned int size)
120{ 128{
121 uint8_t *x; 129 uint8_t *x;