On Wed, Mar 4, 2020 at 5:34 PM Sean Christopherson <sean.j.christopherson@xxxxxxxxx> wrote: > > Add helpers to provide CPUID-based guest vendor checks, i.e. to do the > ugly register comparisons. Use the new helpers to check for an AMD > guest vendor in guest_cpuid_is_amd() as well as in the existing emulator > flows. > > Using the new helpers fixes a _very_ theoretical bug where > guest_cpuid_is_amd() would get a false positive on a non-AMD virtual CPU > with a vendor string beginning with "Auth" due to the previous logic > only checking EBX. It also fixes a marginally less theoretically bug > where guest_cpuid_is_amd() would incorrectly return false for a guest > CPU with "AMDisbetter!" as its vendor string. > > Fixes: a0c0feb57992c ("KVM: x86: reserve bit 8 of non-leaf PDPEs and PML4Es in 64-bit mode on AMD") > Signed-off-by: Sean Christopherson <sean.j.christopherson@xxxxxxxxx> Reviewed-by: Jim Mattson <jmattson@xxxxxxxxxx>