debuggers.hg

changeset 20958:391cb20b6ea9

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>
author Keir Fraser <keir.fraser@citrix.com>
date Mon Feb 08 10:18:14 2010 +0000 (2010-02-08)
parents f330b15f885d
children 5b895c3f4386
files xen/common/page_alloc.c
line diff
     1.1 --- a/xen/common/page_alloc.c	Mon Feb 08 10:14:48 2010 +0000
     1.2 +++ b/xen/common/page_alloc.c	Mon Feb 08 10:18:14 2010 +0000
     1.3 @@ -1256,6 +1256,9 @@ void scrub_one_page(struct page_info *pg
     1.4  {
     1.5      void *p = __map_domain_page(pg);
     1.6  
     1.7 +    if ( unlikely(pg->count_info & PGC_broken) )
     1.8 +        return;
     1.9 +
    1.10  #ifndef NDEBUG
    1.11      /* Avoid callers relying on allocations returning zeroed pages. */
    1.12      memset(p, 0xc2, PAGE_SIZE);