linux/arch/x86/kvm
Andy Honig b963a22e6d KVM: x86: Fix potential divide by 0 in lapic (CVE-2013-6367)
Under guest controllable circumstances apic_get_tmcct will execute a
divide by zero and cause a crash.  If the guest cpuid support
tsc deadline timers and performs the following sequence of requests
the host will crash.
- Set the mode to periodic
- Set the TMICT to 0
- Set the mode bits to 11 (neither periodic, nor one shot, nor tsc deadline)
- Set the TMICT to non-zero.
Then the lapic_timer.period will be 0, but the TMICT will not be.  If the
guest then reads from the TMCCT then the host will perform a divide by 0.

This patch ensures that if the lapic_timer.period is 0, then the division
does not occur.

Reported-by: Andrew Honig <ahonig@google.com>
Cc: stable@vger.kernel.org
Signed-off-by: Andrew Honig <ahonig@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2013-12-12 22:39:45 +01:00
..
cpuid.c kvm, cpuid: Fix sparse warning 2013-11-07 12:27:46 +02:00
cpuid.h kvm: Add KVM_GET_EMULATED_CPUID 2013-10-30 18:54:39 +01:00
emulate.c KVM: emulator: cleanup decode_register_operand() a bit 2013-11-05 09:11:30 +02:00
i8254.c
i8254.h
i8259.c
irq.c
irq.h
Kconfig kvm: Add VFIO device 2013-10-30 19:02:03 +01:00
kvm_cache_regs.h
lapic.c KVM: x86: Fix potential divide by 0 in lapic (CVE-2013-6367) 2013-12-12 22:39:45 +01:00
lapic.h KVM: Fix RTC interrupt coalescing tracking 2013-06-27 14:20:53 +03:00
Makefile kvm: Add VFIO device 2013-10-30 19:02:03 +01:00
mmu_audit.c kvm: mmu: delay mmu audit activation 2013-11-20 11:12:56 +02:00
mmu.c KVM: mmu: change useless int return types to void 2013-10-03 15:44:02 +03:00
mmu.h KVM: mmu: change useless int return types to void 2013-10-03 15:44:02 +03:00
mmutrace.h KVM: MMU: add tracepoint for check_mmio_spte 2013-06-27 14:20:37 +03:00
paging_tmpl.h KVM: mmu: allow page tables to be in read-only slots 2013-09-17 12:52:31 +03:00
pmu.c perf, kvm: Support the in_tx/in_tx_cp modifiers in KVM arch perfmon emulation v5 2013-07-19 18:24:45 +02:00
svm.c KVM: mmu: change useless int return types to void 2013-10-03 15:44:02 +03:00
trace.h kvm: Add a tracepoint write_tsc_offset 2013-06-27 14:20:51 +03:00
tss.h
vmx.c kvm, vmx: Fix lazy FPU on nested guest 2013-11-13 18:46:54 +01:00
x86.c kvm: optimize out smp_mb after srcu_read_unlock 2013-11-06 09:32:31 +02:00
x86.h KVM: x86: mask unsupported XSAVE entries from leaf 0Dh index 0 2013-10-03 12:29:04 +03:00