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);