Messages in this thread | | | From | Jim Mattson <> | Date | Mon, 2 Mar 2020 20:25:31 -0800 | Subject | Re: [PATCH 2/6] KVM: x86: Fix CPUID range check for Centaur and Hypervisor ranges |
| |
On Mon, Mar 2, 2020 at 7:25 PM Jim Mattson <jmattson@google.com> wrote: > > On Mon, Mar 2, 2020 at 11:57 AM Sean Christopherson > <sean.j.christopherson@intel.com> wrote: > > > The bad behavior can be visually confirmed by dumping CPUID output in > > the guest when running Qemu with a stable TSC, as Qemu extends the limit > > of range 0x40000000 to 0x40000010 to advertise VMware's cpuid_freq, > > without defining zeroed entries for 0x40000002 - 0x4000000f. > > I think it could be reasonably argued that this is a userspace bug. > Clearly, when userspace explicitly supplies the results for a leaf, > those results override the default CPUID values for that leaf. But I > haven't seen it documented anywhere that leaves *not* explicitly > supplied by userspace will override the default CPUID values, just > because they happen to appear in some magic range.
In fact, the more I think about it, the original change is correct, at least in this regard. Your "fix" introduces undocumented and unfathomable behavior.
| |