linux/arch/x86/kvm
Haozhong Zhang b2467e744f KVM: nVMX: remove incorrect vpid check in nested invvpid emulation
This patch removes the vpid check when emulating nested invvpid
instruction of type all-contexts invalidation. The existing code is
incorrect because:
 (1) According to Intel SDM Vol 3, Section "INVVPID - Invalidate
     Translations Based on VPID", invvpid instruction does not check
     vpid in the invvpid descriptor when its type is all-contexts
     invalidation.
 (2) According to the same document, invvpid of type all-contexts
     invalidation does not require there is an active VMCS, so/and
     get_vmcs12() in the existing code may result in a NULL-pointer
     dereference. In practice, it can crash both KVM itself and L1
     hypervisors that use invvpid (e.g. Xen).

Signed-off-by: Haozhong Zhang <haozhong.zhang@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2015-11-25 15:52:55 +01:00
..
Kconfig KVM: x86: select IRQ_BYPASS_MANAGER 2015-10-01 15:06:52 +02:00
Makefile
assigned-dev.c KVM: x86: move kvm_set_irq_inatomic to legacy device assignment 2015-11-04 16:24:36 +01:00
assigned-dev.h
cpuid.c s390: A bunch of fixes and optimizations for interrupt and time 2015-11-05 16:26:26 -08:00
cpuid.h kvm: svm: Only propagate next_rip when guest supports it 2015-10-16 10:32:17 +02:00
emulate.c KVM: x86: allow RSM from 64-bit mode 2015-11-04 16:24:38 +01:00
hyperv.c kvm/x86: Hyper-V HV_X64_MSR_VP_RUNTIME support 2015-10-01 15:06:33 +02:00
hyperv.h
i8254.c KVM: x86: Split the APIC from the rest of IRQCHIP. 2015-10-01 15:06:26 +02:00
i8254.h
i8259.c
ioapic.c KVM: x86: fix edge EOI and IOAPIC reconfig race 2015-10-14 16:41:08 +02:00
ioapic.h KVM: x86: Add EOI exit bitmap inference 2015-10-01 15:06:28 +02:00
iommu.c
irq.c KVM: x86: Add support for local interrupt requests from userspace 2015-10-01 15:06:29 +02:00
irq.h KVM: x86: Add support for local interrupt requests from userspace 2015-10-01 15:06:29 +02:00
irq_comm.c KVM: x86: move kvm_set_irq_inatomic to legacy device assignment 2015-11-04 16:24:36 +01:00
kvm_cache_regs.h
lapic.c KVM: x86: Move TSC scaling logic out of call-back read_l1_tsc() 2015-11-10 12:06:18 +01:00
lapic.h KVM: Define a new interface kvm_intr_is_single_vcpu() 2015-10-01 15:06:49 +02:00
mmu.c KVM: x86: merge handle_mmio_page_fault and handle_mmio_page_fault_common 2015-11-10 12:06:03 +01:00
mmu.h KVM: x86: merge handle_mmio_page_fault and handle_mmio_page_fault_common 2015-11-10 12:06:03 +01:00
mmu_audit.c
mmutrace.h
mtrr.c
paging_tmpl.h KVM: x86: merge handle_mmio_page_fault and handle_mmio_page_fault_common 2015-11-10 12:06:03 +01:00
pmu.c
pmu.h
pmu_amd.c
pmu_intel.c
svm.c KVM: x86: rename update_db_bp_intercept to update_bp_intercept 2015-11-10 12:06:25 +01:00
trace.h KVM: x86: Update IRTE for posted-interrupts 2015-10-01 15:06:51 +02:00
tss.h
vmx.c KVM: nVMX: remove incorrect vpid check in nested invvpid emulation 2015-11-25 15:52:55 +01:00
x86.c KVM: x86: request interrupt window when IRQ chip is split 2015-11-18 12:25:39 +01:00
x86.h x86/fpu: Rename XSAVE macros 2015-09-14 12:21:46 +02:00