Skip to contentSkip to conversation

svm: Fix migration in the middle of a syscall

PATCH In review Christoph Egger 2 participants 2 messages Jan 27, 2010

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 svm: Fix migration in the middle of a syscall

Hi!

Attached patch fixes migration in the middle of a syscall.

Keir: Please also apply this patch to xen-3.4-testing.

Signature · 6 lines
---to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Karl-Hammerschmidt-Str. 34, 85609 Dornach b. Muenchen
Geschaeftsfuehrer: Andrew Bowd, Thomas M. McCoy, Giuliano Meroni
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632
xen/arch/x86/hvm/svm/svm.c +2 -0
diff -r c6f0968fdfe2 xen/arch/x86/hvm/svm/svm.c
@@ -192,6 +192,7 @@ static int svm_vmcb_save(struct vcpu *v,
     c->sysenter_cs = v->arch.hvm_svm.guest_sysenter_cs;
     c->sysenter_esp = v->arch.hvm_svm.guest_sysenter_esp;
     c->sysenter_eip = v->arch.hvm_svm.guest_sysenter_eip;
+    c->shadow_gs = vmcb->kerngsbase;
 
     c->pending_event = 0;
     c->error_code = 0;
@@ -251,6 +252,7 @@ static int svm_vmcb_restore(struct vcpu 
     v->arch.hvm_svm.guest_sysenter_cs = c->sysenter_cs;
     v->arch.hvm_svm.guest_sysenter_esp = c->sysenter_esp;
     v->arch.hvm_svm.guest_sysenter_eip = c->sysenter_eip;
+    vmcb->kerngsbase = c->shadow_gs;
 
     if ( paging_mode_hap(v->domain) )
     {

_______________________________________________
Xen-devel mailing list
[email protected]
http://lists.xensource.com/xen-devel

#1 lore raw

Looks like this is already handled in svm_{save,load}_cpu_state(). Did you actually reproduce this bug?

-- Keir

Quoted 9 lines · Christoph Egger

Hi!

Attached patch fixes migration in the middle of a syscall.

Keir: Please also apply this patch to xen-3.4-testing.