RE: [PATCH v2 23/23] kvm: x86: Disable RDMSR interception of IA32_XFD_ERR

From: Liu, Jing2
Date: Tue Dec 21 2021 - 04:01:11 EST



On 12/21/2021 4:48 PM, Paolo Bonzini wrote:
>
> On 12/21/21 07:29, Liu, Jing2 wrote:
> >>
> > Thanks for reviewing the patches.
> >
> > If disable unconditionally in vmx_create_vcpu, it means even guest has
> > no cpuid, the msr read is passthrough to guest and it can read a
> > value, which seems strange, though spec doesn't mention the read
> behaviour w/o cpuid.
> >
> > How about disabling read interception at vmx_vcpu_after_set_cpuid?
> >
> > if (boot_cpu_has(X86_FEATURE_XFD) && guest_cpuid_has(vcpu,
> X86_FEATURE_XFD))
> > vmx_set_intercept_for_msr(vcpu, MSR_IA32_XFD_ERR, MSR_TYPE_R,
> > false);
>
> Even better:
>
> if (boot_cpu_has(X86_FEATURE_XFD))
> vmx_set_intercept_for_msr(vcpu, MSR_IA32_XFD_ERR,
> MSR_TYPE_R,
> !guest_cpuid_has(vcpu,
> X86_FEATURE_XFD));

Thanks Paolo.

BTW do we want to put this together into patch 13 or 14, I guess you were saying patch 14 😊
[PATCH v2 13/23] kvm: x86: Intercept #NM for saving IA32_XFD_ERR
[PATCH v2 14/23] kvm: x86: Emulate IA32_XFD_ERR for guest

Thanks,
Jing

>
> Thanks,
>
> Paolo