mirror of
https://github.com/torvalds/linux.git
synced 2024-11-05 11:32:04 +00:00
b33ac88b4c
kvm_lapic_reset() was initializing apic->timer.divide_count to 0, which could potentially lead to a divide by zero error in apic_get_tmcct(). Any guest that reads the APIC's CCR (current count) register before setting DCR (divide configuration) would trigger a divide by zero exception in the host kernel, leading to a host-OS crash. This patch results in apic->timer.divide_count being initialized to 2 at reset, eliminating the bug (DCR=0 at reset, meaning divide by 2). Signed-off-by: Kevin Pedretti <kevin.pedretti@gmail.com> Signed-off-by: Avi Kivity <avi@qumranet.com> |
||
---|---|---|
.. | ||
i8259.c | ||
ioapic.c | ||
irq.c | ||
irq.h | ||
Kconfig | ||
kvm_main.c | ||
kvm_svm.h | ||
kvm.h | ||
lapic.c | ||
Makefile | ||
mmu.c | ||
paging_tmpl.h | ||
segment_descriptor.h | ||
svm.c | ||
svm.h | ||
vmx.c | ||
vmx.h | ||
x86_emulate.c | ||
x86_emulate.h |