Updated block-dmmd script - fate#310510 - fix xenpaging restore changes to integrate paging into xm/xend xenpaging.autostart.patch xenpaging.doc.patch - bnc#787163 - VUL-0: CVE-2012-4544: xen: Domain builder Out-of- memory due to malicious kernel/ramdisk (XSA 25) CVE-2012-4544-xsa25.patch - bnc#779212 - VUL-0: CVE-2012-4411: XEN / qemu: guest administrator can access qemu monitor console (XSA-19) CVE-2012-4411-xsa19.patch - bnc#786516 - VUL-0: CVE-2012-4535: xen: Timer overflow DoS vulnerability CVE-2012-4535-xsa20.patch - bnc#786518 - VUL-0: CVE-2012-4536: xen: pirq range check DoS vulnerability CVE-2012-4536-xsa21.patch - bnc#786517 - VUL-0: CVE-2012-4537: xen: Memory mapping failure DoS vulnerability CVE-2012-4537-xsa22.patch - bnc#786519 - VUL-0: CVE-2012-4538: xen: Unhooking empty PAE entries DoS vulnerability CVE-2012-4538-xsa23.patch - bnc#786520 - VUL-0: CVE-2012-4539: xen: Grant table hypercall infinite loop DoS vulnerability CVE-2012-4539-xsa24.patch OBS-URL: https://build.opensuse.org/package/show/Virtualization/xen?expand=0&rev=212
42 lines
1.4 KiB
Diff
42 lines
1.4 KiB
Diff
# HG changeset patch
|
|
# User Tim Deegan <tim@xen.org>
|
|
# Date 1349356850 -3600
|
|
# Node ID a9c84069c2489e2c432a5068adc7cf8d51ae3366
|
|
# Parent 72d89cc43c72848be9bf49da9a87729ed8f48433
|
|
x86/nested-svm: Update the paging mode on VMRUN and VMEXIT emulation.
|
|
|
|
This allows Xen to walk the l1 hypervisor's shadow pagetable
|
|
correctly. Not needed for hap-on-hap guests because they are handled
|
|
at lookup time. Problem found with 64bit Win7 and 32bit XPMode where Win7
|
|
switches forth and back between long mode and PAE legacy pagetables.
|
|
|
|
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
|
|
[Adjusted to update in all cases where the l1 vmm uses shadows]
|
|
Signed-off-by: Tim Deegan <tim@xen.org>
|
|
Committed-by: Tim Deegan <tim@xen.org>
|
|
|
|
--- a/xen/arch/x86/hvm/svm/nestedsvm.c
|
|
+++ b/xen/arch/x86/hvm/svm/nestedsvm.c
|
|
@@ -741,6 +741,10 @@ nsvm_vcpu_vmrun(struct vcpu *v, struct c
|
|
return 1;
|
|
}
|
|
|
|
+ /* If l1 guest uses shadow paging, update the paging mode. */
|
|
+ if (!nestedhvm_paging_mode_hap(v))
|
|
+ paging_update_paging_modes(v);
|
|
+
|
|
nv->nv_vmswitch_in_progress = 0;
|
|
return 0;
|
|
}
|
|
@@ -1408,6 +1412,10 @@ nestedsvm_vcpu_vmexit(struct vcpu *v, st
|
|
*/
|
|
rc = nhvm_vcpu_vmexit(v, regs, exitcode);
|
|
|
|
+ /* If l1 guest uses shadow paging, update the paging mode. */
|
|
+ if (!nestedhvm_paging_mode_hap(v))
|
|
+ paging_update_paging_modes(v);
|
|
+
|
|
nv->nv_vmswitch_in_progress = 0;
|
|
|
|
if (rc)
|