[GIT PULL] KVM changes for Linux 4.20-rc5

From: Paolo Bonzini
Date: Fri Sep 21 2018 - 08:14:39 EST


Greg,

The following changes since commit 7876320f88802b22d4e2daf7eb027dd14175a0f8:

Linux 4.19-rc4 (2018-09-16 11:52:37 -0700)

are available in the git repository at:

git://git.kernel.org/pub/scm/virt/kvm/kvm.git queue

for you to fetch changes up to 26b471c7e2f7befd0f59c35b257749ca57e0ed70:

KVM: nVMX: Fix bad cleanup on error of get/set nested state IOCTLs (2018-09-20 18:54:08 +0200)

----------------------------------------------------------------
This pull request is slightly bigger than usual at this stage, but
I swear I would have sent it the same to Linus! The main cause for
this is that I was on vacation until two weeks ago and it took a while
to sort all the pending patches between 4.20 and 4.21, test them and
so on.

It's mostly small bugfixes and cleanups, mostly around x86 nested
virtualization. One important change, not related to nested
virtualization, is that the ability for the guest kernel to trap CPUID
instructions (in Linux that's the ARCH_SET_CPUID arch_prctl) is now
masked by default. This is because the feature is detected through an
MSR; a very bad idea that Intel seems to like more and more. Some
applications choke if the other fields of that MSR are not initialized
as on real hardware, hence we have to disable the whole MSR by default,
as was the case before Linux 4.12.

----------------------------------------------------------------
Alexey Kardashevskiy (1):
KVM: PPC: Avoid marking DMA-mapped pages dirty in real mode

Andy Shevchenko (1):
KVM: SVM: Switch to bitmap_zalloc()

Drew Schmitt (3):
KVM: x86: Turbo bits in MSR_PLATFORM_INFO
KVM: x86: Control guest reads of MSR_PLATFORM_INFO
kvm: selftests: Add platform_info_test

Janosch Frank (2):
s390/mm: Check for valid vma before zapping in gmap_discard
KVM: s390: Make huge pages unavailable in ucontrol VMs

Junaid Shahid (1):
kvm: mmu: Don't read PDPTEs when paging is not enabled

Krish Sadhukhan (2):
nVMX x86: check posted-interrupt descriptor addresss on vmentry of L2
nVMX x86: Check VPID value on vmentry of L2 guests

Lei Yang (1):
kvm: selftests: use -pthread instead of -lpthread

Liran Alon (2):
KVM: nVMX: Wake blocked vCPU in guest-mode if pending interrupt in virtual APICv
KVM: nVMX: Fix bad cleanup on error of get/set nested state IOCTLs

Nicholas Piggin (1):
KVM: PPC: Book3S HV: Don't use compound_order to determine host mapping size

Paolo Bonzini (3):
Merge tag 'kvm-s390-master-4.19-2' of git://git.kernel.org/.../kvms390/linux into HEAD
Merge tag 'kvm-ppc-fixes-4.19-2' of git://git.kernel.org/.../paulus/powerpc into HEAD
KVM: VMX: check nested state and CR4.VMXE against SMM

Sean Christopherson (3):
KVM: VMX: immediately mark preemption timer expired only for zero value
KVM: VMX: modify preemption timer bit only when arming timer
KVM: VMX: use preemption timer to force immediate VMExit

Sebastian Andrzej Siewior (1):
kvm: x86: make kvm_{load|put}_guest_fpu() static

Tianyu Lan (1):
KVM/MMU: Fix comment in walk_shadow_page_lockless_end()

Vitaly Kuznetsov (2):
x86/kvm/lapic: always disable MMIO interface in x2APIC mode
x86/hyper-v: rename ipi_arg_{ex,non_ex} structures

Wei Yang (1):
KVM: x86: don't reset root in kvm_mmu_setup()

Documentation/virtual/kvm/api.txt | 12 +-
arch/powerpc/include/asm/book3s/64/pgtable.h | 1 -
arch/powerpc/include/asm/iommu.h | 2 -
arch/powerpc/include/asm/mmu_context.h | 1 +
arch/powerpc/kernel/iommu.c | 25 ----
arch/powerpc/kvm/book3s_64_mmu_radix.c | 91 ++++++---------
arch/powerpc/kvm/book3s_64_vio_hv.c | 39 +++++--
arch/powerpc/mm/init_64.c | 49 --------
arch/powerpc/mm/mmu_context_iommu.c | 34 +++++-
arch/s390/kvm/kvm-s390.c | 4 +-
arch/s390/mm/gmap.c | 4 +-
arch/x86/hyperv/hv_apic.c | 8 +-
arch/x86/include/asm/hyperv-tlfs.h | 16 +--
arch/x86/include/asm/kvm_host.h | 5 +
arch/x86/include/uapi/asm/kvm.h | 1 +
arch/x86/kvm/lapic.c | 22 +++-
arch/x86/kvm/mmu.c | 9 +-
arch/x86/kvm/svm.c | 7 +-
arch/x86/kvm/vmx.c | 138 ++++++++++++++++-------
arch/x86/kvm/x86.c | 101 +++++++++++------
include/linux/kvm_host.h | 2 -
include/uapi/linux/kvm.h | 1 +
tools/testing/selftests/kvm/.gitignore | 1 +
tools/testing/selftests/kvm/Makefile | 5 +-
tools/testing/selftests/kvm/include/kvm_util.h | 4 +
tools/testing/selftests/kvm/lib/kvm_util.c | 89 +++++++++++++++
tools/testing/selftests/kvm/platform_info_test.c | 110 ++++++++++++++++++
27 files changed, 537 insertions(+), 244 deletions(-)
create mode 100644 tools/testing/selftests/kvm/platform_info_test.c