kernel-ark/arch/x86/kvm
Jan Kiszka f7104db26a KVM: Fix racy event propagation in timer
Minor issue that likely had no practical relevance: the kvm timer
function so far incremented the pending counter and then may reset it
again to 1 in case reinjection was disabled. This opened a small racy
window with the corresponding VCPU loop that may have happened to run
on another (real) CPU and already consumed the value.

Fix it by skipping the incrementation in case pending is already > 0.
This opens a different race windows, but may only rarely cause lost
events in case we do not care about them anyway (!reinject).

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
2009-09-10 08:32:57 +03:00
..
i8254.c KVM: Use macro to iterate over vcpus. 2009-09-10 08:32:52 +03:00
i8254.h KVM: Allow PIT emulation without speaker port 2009-09-10 08:32:41 +03:00
i8259.c KVM: Introduce kvm_vcpu_is_bsp() function. 2009-09-10 08:32:51 +03:00
irq.c KVM: Remove irq_pending bitmap 2009-06-10 11:48:57 +03:00
irq.h KVM: make irq ack notifications aware of routing table 2009-03-24 11:03:08 +02:00
Kconfig KVM: Break dependency between vcpu index in vcpus array and vcpu_id. 2009-09-10 08:32:52 +03:00
kvm_cache_regs.h KVM: Cache pdptrs 2009-09-10 08:32:46 +03:00
kvm_timer.h KVM: Use pointer to vcpu instead of vcpu_id in timer code. 2009-09-10 08:32:52 +03:00
lapic.c KVM: Optimize searching for highest IRR 2009-09-10 08:32:57 +03:00
lapic.h KVM: Optimize searching for highest IRR 2009-09-10 08:32:57 +03:00
Makefile KVM: irqfd 2009-09-10 08:32:41 +03:00
mmu.c KVM: MMU: add kvm_mmu_get_spte_hierarchy helper 2009-09-10 08:32:56 +03:00
mmu.h KVM: MMU: add kvm_mmu_get_spte_hierarchy helper 2009-09-10 08:32:56 +03:00
paging_tmpl.h KVM: MMU: s/shadow_pte/spte/ 2009-09-10 08:32:51 +03:00
svm.c KVM: Move performance counter MSR access interception to generic x86 path 2009-09-10 08:32:54 +03:00
timer.c KVM: Fix racy event propagation in timer 2009-09-10 08:32:57 +03:00
tss.h KVM: x86: hardware task switching support 2008-04-27 12:00:39 +03:00
vmx.c KVM: VMX: conditionally disable 2M pages 2009-09-10 08:32:56 +03:00
x86_emulate.c KVM: x86 emulator: fix jmp far decoding (opcode 0xea) 2009-09-10 08:32:40 +03:00
x86.c KVM: Replace pending exception by PF if it happens serially 2009-09-10 08:32:56 +03:00
x86.h KVM: Do not re-execute INTn instruction. 2009-06-10 11:48:58 +03:00