diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c
index 12fb342218ada0f87992216bd69cdfd952e1824d..52fea89732dbb604de1f13e8767e417f6659c434 100644
--- a/arch/x86/kvm/vmx/vmx.c
+++ b/arch/x86/kvm/vmx/vmx.c
@@ -6407,8 +6407,8 @@ static void __vmx_vcpu_run(struct kvm_vcpu *vcpu, struct vcpu_vmx *vmx)
 		write_cr2(vcpu->arch.cr2);
 
 	asm(
-		/* Store host registers */
 		"push %%" _ASM_BP " \n\t"
+		"mov  %%" _ASM_SP ", %%" _ASM_BP " \n\t"
 
 		/*
 		 * Save @regs, _ASM_ARG2 may be modified by vmx_update_host_rsp() and