Don''t scrub broken pages
Don''t touch the poison pages when scrub the pages. Consuming poison
page will contaminate the CPU context and may cause system crash.
Signed-off-by: Jiang, Yunhong <yunhong.jiang@intel.com>
diff -r 08c3ff62b8e9 xen/common/page_alloc.c
--- a/xen/common/page_alloc.c Mon Feb 08 13:27:41 2010 +0800
+++ b/xen/common/page_alloc.c Mon Feb 08 14:32:32 2010 +0800
@@ -1256,6 +1256,9 @@ void scrub_one_page(struct page_info *pg
{
void *p = __map_domain_page(pg);
+ if ( unlikely(pg->count_info & PGC_broken) )
+ return;
+
#ifndef NDEBUG
/* Avoid callers relying on allocations returning zeroed pages. */
memset(p, 0xc2, PAGE_SIZE);
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel