At Mon, 25 Feb 2008 09:37:42 +0800,
Tian, Kevin wrote:
> Here it is. Thanks again for pointing it out.
One last thing. At the moment we're auditing the tables and the guest
walk when we're not sure that the walk itself is consistent or
not. Inline patch fixes this.
Thanks,
Gianl.
diff -r 993a7e1d224d xen/arch/x86/mm/shadow/multi.c
--- a/xen/arch/x86/mm/shadow/multi.c Thu Feb 28 13:21:54 2008 +0000
+++ b/xen/arch/x86/mm/shadow/multi.c Thu Feb 28 13:24:11 2008 +0000
@@ -2952,8 +2952,6 @@ static int sh_page_fault(struct vcpu *v,
#endif /* (SHADOW_OPTIMIZATIONS & SHOPT_VIRTUAL_TLB) */
shadow_lock(d);
- shadow_audit_tables(v);
- sh_audit_gw(v, &gw);
if ( gw_remove_write_accesses(v, va, &gw) )
{
@@ -2971,6 +2969,9 @@ static int sh_page_fault(struct vcpu *v,
shadow_unlock(d);
return EXCRET_fault_fixed;
}
+
+ shadow_audit_tables(v);
+ sh_audit_gw(v, &gw);
/* Make sure there is enough free shadow memory to build a chain of
* shadow tables. (We never allocate a top-level shadow on this path,
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|