On Thu, Aug 6, 2020 at 10:14 AM Oliver Upton <oupton@xxxxxxxxxx> wrote: > > To date, KVM has allowed guests to use paravirtual interfaces regardless > of the configured CPUID. While almost any guest will consult the > KVM_CPUID_FEATURES leaf _before_ using PV features, it is still > undesirable to have such interfaces silently present. > > This series aims to address the issue by adding explicit checks against > the guest's CPUID when servicing any paravirtual feature. Since this > effectively changes the guest/hypervisor ABI, a KVM_CAP is warranted to > guard the new behavior. > > Patches 1-2 refactor some of the PV code in anticipation of the change. > Patch 3 introduces the checks + KVM_CAP. Finally, patch 4 fixes some doc > typos that were noticed when working on this series. > > v1 => v2: > - Strip Change-Id footers (checkpatch is your friend!) > > v2 => v3: > - Mark kvm_write_system_time() as static > > Parent commit: f3633c268354 ("Merge tag 'kvm-s390-next-5.9-1' of git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into kvm-next-5.6") > > Oliver Upton (4): > kvm: x86: encapsulate wrmsr(MSR_KVM_SYSTEM_TIME) emulation in helper > fn > kvm: x86: set wall_clock in kvm_write_wall_clock() > kvm: x86: only provide PV features if enabled in guest's CPUID > Documentation: kvm: fix some typos in cpuid.rst > > Documentation/virt/kvm/api.rst | 11 +++ > Documentation/virt/kvm/cpuid.rst | 88 +++++++++++----------- > arch/x86/include/asm/kvm_host.h | 6 ++ > arch/x86/kvm/cpuid.h | 16 ++++ > arch/x86/kvm/x86.c | 122 +++++++++++++++++++++++-------- > include/uapi/linux/kvm.h | 1 + > 6 files changed, 171 insertions(+), 73 deletions(-) > > -- > 2.28.0.236.gb10cc79966-goog > Ping :)