[GIT PULL] KVM patches for Linux 5.4-rc8

From: Paolo Bonzini
Date: Tue Nov 12 2019 - 16:10:45 EST


Linus,

The following changes since commit 31f4f5b495a62c9a8b15b1c3581acd5efeb9af8c:

Linux 5.4-rc7 (2019-11-10 16:17:15 -0800)

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 a78986aae9b2988f8493f9f65a587ee433e83bc3:

KVM: MMU: Do not treat ZONE_DEVICE pages as being reserved (2019-11-12 10:17:42 +0100)

----------------------------------------------------------------
Bugfixes: unwinding of KVM_CREATE_VM failure,
VT-d posted interrupts, DAX/ZONE_DEVICE,
module unload/reload.

----------------------------------------------------------------

I delayed sending this until today, because there is a conflict between
today's processor vulnerability mitigations and commit 8a44119a98be from
this pull request ("KVM: Fix NULL-ptr deref after kvm_create_vm fails"),
and I didn't want to mess up your processing of Thomas's pull request.
It's not a particularly hard conflict, but I'm including anyway a
resolution at the end of this email.

Paolo

Chenyi Qiang (1):
KVM: X86: Fix initialization of MSR lists

Joao Martins (3):
KVM: VMX: Consider PID.PIR to determine if vCPU has pending interrupts
KVM: VMX: Do not change PID.NDST when loading a blocked vCPU
KVM: VMX: Introduce pi_is_pir_empty() helper

Liran Alon (1):
KVM: VMX: Fix comment to specify PID.ON instead of PIR.ON

Paolo Bonzini (2):
KVM: Fix NULL-ptr deref after kvm_create_vm fails
KVM: fix placement of refcount initialization

Sean Christopherson (1):
KVM: MMU: Do not treat ZONE_DEVICE pages as being reserved

arch/x86/kvm/mmu.c | 8 +++----
arch/x86/kvm/vmx/vmx.c | 23 +++++++++++++++++---
arch/x86/kvm/vmx/vmx.h | 11 ++++++++++
arch/x86/kvm/x86.c | 56 ++++++++++++++++++++++--------------------------
include/linux/kvm_host.h | 1 +
virt/kvm/kvm_main.c | 48 +++++++++++++++++++++++++++++------------
6 files changed, 96 insertions(+), 51 deletions(-)



diff --cc virt/kvm/kvm_main.c
index 4aab3547a165,0dac149ead16..000000000000
--- a/virt/kvm/kvm_main.c
+++ b/virt/kvm/kvm_main.c
@@@ -715,15 -713,6 +735,11 @@@
return kvm;

out_err:
+#if defined(CONFIG_MMU_NOTIFIER) && defined(KVM_ARCH_WANT_MMU_NOTIFIER)
+ if (kvm->mmu_notifier.ops)
+ mmu_notifier_unregister(&kvm->mmu_notifier, current->mm);
+#endif
+out_err_no_mmu_notifier:
- cleanup_srcu_struct(&kvm->irq_srcu);
- out_err_no_irq_srcu:
- cleanup_srcu_struct(&kvm->srcu);
- out_err_no_srcu:
hardware_disable_all();
out_err_no_disable:
kvm_arch_destroy_vm(kvm);