linux/arch/x86/kvm
Avi Kivity 5991b33237 KVM: MMU: Validate all gptes during fetch, not just those used for new pages
Currently, when we fetch an spte, we only verify that gptes match those that
the walker saw if we build new shadow pages for them.

However, this misses the following race:

  vcpu1            vcpu2

  walk
                  change gpte
                  walk
                  instantiate sp

  fetch existing sp

Fix by validating every gpte, regardless of whether it is used for building
a new sp or not.

Signed-off-by: Avi Kivity <avi@redhat.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
2010-08-02 06:40:47 +03:00
..
emulate.c KVM: x86 emulator: re-implementing 'mov AL,moffs' instruction decoding 2010-08-02 06:40:27 +03:00
i8254.c KVM: PIT: stop vpit before freeing irq_routing 2010-08-02 06:40:35 +03:00
i8254.h KVM: x86: Introduce a workqueue to deliver PIT timer interrupts 2010-08-01 10:46:49 +03:00
i8259.c KVM: Search the LAPIC's for one that will accept a PIC interrupt 2010-08-01 10:47:17 +03:00
irq.c KVM: x86: Introduce a workqueue to deliver PIT timer interrupts 2010-08-01 10:46:49 +03:00
irq.h KVM: i8259: reduce excessive abstraction for pic_irq_request() 2010-08-01 10:47:03 +03:00
Kconfig Merge branch 'kvm-updates/2.6.34' of git://git.kernel.org/pub/scm/virt/kvm/kvm 2010-03-05 13:12:34 -08:00
kvm_cache_regs.h KVM: VMX: Enable XSAVE/XRSTOR for guest 2010-08-01 10:46:31 +03:00
kvm_timer.h KVM: arch/x86/kvm/kvm_timer.h checkpatch cleanup 2010-05-17 12:14:42 +03:00
lapic.c KVM: Add mini-API for vcpu->requests 2010-08-01 10:47:05 +03:00
lapic.h KVM: Add HYPER-V apic access MSRs 2010-03-01 12:36:00 -03:00
Makefile KVM: Move assigned device code to own file 2009-12-03 09:32:09 +02:00
mmu.c KVM: MMU: Add validate_direct_spte() helper 2010-08-02 06:40:43 +03:00
mmu.h KVM: x86 emulator: fix memory access during x86 emulation 2010-03-01 12:36:11 -03:00
mmutrace.h KVM: MMU: split the operations of kvm_mmu_zap_page() 2010-08-01 10:39:27 +03:00
paging_tmpl.h KVM: MMU: Validate all gptes during fetch, not just those used for new pages 2010-08-02 06:40:47 +03:00
svm.c KVM: VMX: Execute WBINVD to keep data consistency with assigned devices 2010-08-01 10:47:21 +03:00
timer.c KVM: Add mini-API for vcpu->requests 2010-08-01 10:47:05 +03:00
trace.h KVM: Trace emulated instructions 2010-05-17 12:17:35 +03:00
tss.h KVM: x86: hardware task switching support 2008-04-27 12:00:39 +03:00
vmx.c KVM: VMX: fix tlb flush with invalid root 2010-08-02 06:40:16 +03:00
x86.c KVM: Expose MCE control MSRs to userspace 2010-08-02 06:40:36 +03:00
x86.h KVM: Remove memory alias support 2010-08-01 10:47:00 +03:00