ia64/xen-unstable

changeset 3872:5950d2ac5f17

bitkeeper revision 1.1205.1.10 (421796afi6cb40DRRlGAd0wByIfSjg)

Bug fix: stop leaking shadow L2 pages like a sieve.
We were looking up shadow_status with a mfn rather than a gpfn.
author maf46@burn.cl.cam.ac.uk
date Sat Feb 19 19:42:39 2005 +0000 (2005-02-19)
parents aca72468d4fe
children 523423e2510b
files xen/include/asm-x86/shadow.h
line diff
     1.1 --- a/xen/include/asm-x86/shadow.h	Sat Feb 19 19:40:02 2005 +0000
     1.2 +++ b/xen/include/asm-x86/shadow.h	Sat Feb 19 19:42:39 2005 +0000
     1.3 @@ -730,10 +730,8 @@ static inline void __update_pagetables(s
     1.4  {
     1.5      struct domain *d = ed->domain;
     1.6      unsigned long gmfn = pagetable_val(ed->arch.guest_table) >> PAGE_SHIFT;
     1.7 -
     1.8 -    // mafetter: BUG: __shadow_status() should take a gpfn, not a gmfn...
     1.9 -    // WHY DOES THIS WORK?
    1.10 -    unsigned long smfn = __shadow_status(d, gmfn) & PSH_pfn_mask;
    1.11 +    unsigned long gpfn = __mfn_to_gpfn(d, gmfn);
    1.12 +    unsigned long smfn = __shadow_status(d, gpfn) & PSH_pfn_mask;
    1.13  
    1.14      SH_VVLOG("0: __update_pagetables(gmfn=%p, smfn=%p)", gmfn, smfn);
    1.15