From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gleb Natapov Subject: Re: [PATCH] KVM: SVM: Always clear interrupt shadow in skip_emulated_instruction Date: Tue, 16 Feb 2010 12:04:29 +0200 Message-ID: <20100216100429.GD2995@redhat.com> References: <4B7A6977.4020308@siemens.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Avi Kivity , Marcelo Tosatti , kvm To: Jan Kiszka Return-path: Received: from mx1.redhat.com ([209.132.183.28]:23719 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932136Ab0BPKEf (ORCPT ); Tue, 16 Feb 2010 05:04:35 -0500 Content-Disposition: inline In-Reply-To: <4B7A6977.4020308@siemens.com> Sender: kvm-owner@vger.kernel.org List-ID: On Tue, Feb 16, 2010 at 10:46:31AM +0100, Jan Kiszka wrote: > emulate_instruction(EMULTYPE_SKIP) does not clear the shadow (only full > emulation does), so we have to do this here. > > Signed-off-by: Jan Kiszka Obviously correct. > --- > arch/x86/kvm/svm.c | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c > index 52f78dd..84c838d 100644 > --- a/arch/x86/kvm/svm.c > +++ b/arch/x86/kvm/svm.c > @@ -282,6 +282,7 @@ static void skip_emulated_instruction(struct kvm_vcpu *vcpu) > { > struct vcpu_svm *svm = to_svm(vcpu); > > + svm_set_interrupt_shadow(vcpu, 0); > if (!svm->next_rip) { > if (emulate_instruction(vcpu, 0, 0, EMULTYPE_SKIP) != > EMULATE_DONE) > @@ -293,7 +294,6 @@ static void skip_emulated_instruction(struct kvm_vcpu *vcpu) > __func__, kvm_rip_read(vcpu), svm->next_rip); > > kvm_rip_write(vcpu, svm->next_rip); > - svm_set_interrupt_shadow(vcpu, 0); > } > > static int has_svm(void) -- Gleb.