* [PATCH] Fix 2-on-3 shadow mode.
@ 2009-03-17 13:16 Gianluca Guida
0 siblings, 0 replies; only message in thread
From: Gianluca Guida @ 2009-03-17 13:16 UTC (permalink / raw)
To: xen-devel@lists.xensource.com; +Cc: Keir Fraser, Christian Limpach
[-- Attachment #1: Type: text/plain, Size: 181 bytes --]
A wrong #ifdef in multi.c may cause memory corruption in some 32 bit HVM
guests.
This patch fixes it, and should be applied hopefully to xen-3.3 and
unstable.
Thanks,
Gianluca
[-- Attachment #2: fix-2-on-3.patch --]
[-- Type: text/x-diff, Size: 778 bytes --]
diff -r 587e81dd3540 xen/arch/x86/mm/shadow/multi.c
--- a/xen/arch/x86/mm/shadow/multi.c Mon Mar 02 14:19:35 2009 +0000
+++ b/xen/arch/x86/mm/shadow/multi.c Tue Mar 17 13:11:46 2009 +0000
@@ -2753,14 +2753,13 @@ int sh_safe_not_to_sync(struct vcpu *v,
return 0;
smfn = _mfn(sp->up >> PAGE_SHIFT);
ASSERT(mfn_valid(smfn));
-
-#if (GUEST_PAGING_LEVELS == 2)
+#endif
+
+#if (GUEST_PAGING_LEVELS == 2 && SHADOW_PAGING_LEVELS == 3)
/* In 2-on-3 shadow mode the up pointer contains the link to the
* shadow page, but the shadow_table contains only the first of the
* four pages that makes the PAE top shadow tables. */
smfn = _mfn(mfn_x(smfn) & ~0x3UL);
-#endif
-
#endif
if ( pagetable_get_pfn(v->arch.shadow_table[0]) == mfn_x(smfn)
[-- Attachment #3: Type: text/plain, Size: 138 bytes --]
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2009-03-17 13:16 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-03-17 13:16 [PATCH] Fix 2-on-3 shadow mode Gianluca Guida
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.