Re: [GIT PULL] KVM updates for Linux 5.13-rc2

From: Sean Christopherson
Date: Mon May 10 2021 - 15:09:54 EST


On Mon, May 10, 2021, Paolo Bonzini wrote:
> Linus,
>
> The following changes since commit 9ccce092fc64d19504fa54de4fd659e279cc92e7:
>
> Merge tag 'for-linus-5.13-ofs-1' of git://git.kernel.org/pub/scm/linux/kernel/git/hubcap/linux (2021-05-02 14:13:46 -0700)
>
> are available in the Git repository at:
>
> https://git.kernel.org/pub/scm/virt/kvm/kvm.git tags/for-linus
>
> for you to fetch changes up to ce7ea0cfdc2e9ff31d12da31c3226deddb9644f5:
>
> KVM: SVM: Move GHCB unmapping to fix RCU warning (2021-05-07 06:06:23 -0400)
>
> Thomas Gleixner and Michael Ellerman had some KVM changes in their
> late merge window pull requests, but there are no conflicts.
>
> ----------------------------------------------------------------
> Sean Christopherson (17):
> KVM: VMX: Do not advertise RDPID if ENABLE_RDTSCP control is unsupported
> KVM: x86: Emulate RDPID only if RDTSCP is supported
> KVM: SVM: Inject #UD on RDTSCP when it should be disabled in the guest
> KVM: x86: Move RDPID emulation intercept to its own enum
> KVM: VMX: Disable preemption when probing user return MSRs
> KVM: SVM: Probe and load MSR_TSC_AUX regardless of RDTSCP support in host
> KVM: x86: Add support for RDPID without RDTSCP
> KVM: VMX: Configure list of user return MSRs at module init

I'm guessing I'm too late as usual and the hashes are set in stone, but just in
case I'm not...

This patch (commit b6194b94a2ca, "KVM: VMX: Configure...) has a bug that Maxim
found during code review. The bug is eliminated by the very next patch (commit
e7f5ab87841c), but it will break bisection if bisection involves running a KVM
guest. At a glance, even syzkaller will be affected :-(

> KVM: VMX: Use flag to indicate "active" uret MSRs instead of sorting list
> KVM: VMX: Use common x86's uret MSR list as the one true list
> KVM: VMX: Disable loading of TSX_CTRL MSR the more conventional way
> KVM: x86: Export the number of uret MSRs to vendor modules
> KVM: x86: Move uret MSR slot management to common x86
> KVM: x86: Tie Intel and AMD behavior for MSR_TSC_AUX to guest CPU model
> KVM: x86: Hide RDTSCP and RDPID if MSR_TSC_AUX probing failed
> KVM: x86: Prevent KVM SVM from loading on kernels with 5-level paging
> KVM: SVM: Invert user pointer casting in SEV {en,de}crypt helpers