Re: [PATCH v5 04/19] KVM:x86: Refresh CPUID on write to guest MSR_IA32_XSS

From: Yang, Weijiang
Date: Wed Aug 09 2023 - 21:13:03 EST


On 8/10/2023 8:01 AM, Paolo Bonzini wrote:
On Wed, Aug 9, 2023 at 10:56 AM Yang, Weijiang <weijiang.yang@xxxxxxxxx> wrote:
I'm pretty sure I've advocated for the exact opposite in the past, i.e. argued
that KVM's ABI is to not enforce ordering between KVM_SET_CPUID2 and KVM_SET_MSR.
But this is becoming untenable, juggling the dependencies in KVM is complex and
is going to result in a nasty bug at some point.

For this series, lets just tighten the rules for XSS, i.e. drop the host_initated
exemption. And in a parallel/separate series, try to do a wholesale cleanup of
all the cases that essentially allow userspace to do KVM_SET_MSR before KVM_SET_CPUID2.
OK, will do it for this series and investigate for other MSRs.
Thanks!
Remember that, while the ordering between KVM_SET_CPUID2 and
KVM_SET_MSR must be enforced(*), the host_initiated path must allow
the default (generally 0) value.
Yes, will take it, thanks!
Paolo

(*) this means that you should check guest_cpuid_has even if
host_initiated == true.