Re: [PATCH 3/8] KVM: Activate fpu on clts

Gleb Natapov
2010-02-04T13:11:27Z

On Thu, Feb 04, 2010 at 03:05:17PM +0200, Avi Kivity wrote:
> On 02/02/2010 10:16 AM, Paolo Bonzini wrote:
> >On 01/21/2010 02:31 PM, Avi Kivity wrote:
> >>diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
> >>index feca59f..09207ba 100644
> >>--- a/arch/x86/kvm/x86.c
> >>+++ b/arch/x86/kvm/x86.c
> >>@@ -3266,6 +3266,7 @@ int emulate_invlpg(struct kvm_vcpu *vcpu,
> >>gva_t address)
> >> int emulate_clts(struct kvm_vcpu *vcpu)
> >> {
> >> kvm_x86_ops->set_cr0(vcpu, kvm_read_cr0_bits(vcpu, ~X86_CR0_TS));
> >>+ kvm_x86_ops->fpu_activate(vcpu);
> >> return X86EMUL_CONTINUE;
> >> }
> >
> >Can this code be reached if CLTS is executed in real mode? That
> >would cause a NULL-pointer access on VMX.
>
> How would this cause a null pointer access?
>
vmx.c doesn't initialize kvm_x86_ops->fpu_activate as far as I see.

--
Gleb.