On Tue, Jun 23, 2020 at 4:58 AM Xiaoyao Li <xiaoyao.li@xxxxxxxxx> wrote: > > It needs to invalidate CPUID configruations if usersapce provides Nits: configurations, userspace > illegal input. > > Signed-off-by: Xiaoyao Li <xiaoyao.li@xxxxxxxxx> > --- > arch/x86/kvm/cpuid.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/arch/x86/kvm/cpuid.c b/arch/x86/kvm/cpuid.c > index 8a294f9747aa..1d13bad42bf9 100644 > --- a/arch/x86/kvm/cpuid.c > +++ b/arch/x86/kvm/cpuid.c > @@ -207,6 +207,8 @@ int kvm_vcpu_ioctl_set_cpuid(struct kvm_vcpu *vcpu, > kvm_apic_set_version(vcpu); > kvm_x86_ops.cpuid_update(vcpu); > r = kvm_update_cpuid(vcpu); > + if (r) > + vcpu->arch.cpuid_nent = 0; > > kvfree(cpuid_entries); > out: > @@ -230,6 +232,8 @@ int kvm_vcpu_ioctl_set_cpuid2(struct kvm_vcpu *vcpu, > kvm_apic_set_version(vcpu); > kvm_x86_ops.cpuid_update(vcpu); > r = kvm_update_cpuid(vcpu); > + if (r) > + vcpu->arch.cpuid_nent = 0; > out: > return r; > } > -- > 2.18.2 What if vcpu->arch.cpuid_nent was greater than 0 before the ioctl in question?