浏览代码

KVM: PIT: fix kpit_elapsed division by zero

Fix division by zero triggered by latch count command on uninitialized
counter.

Cc: stable@kernel.org
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
Marcelo Tosatti 16 年之前
父节点
当前提交
0ff77873b1
共有 1 个文件被更改,包括 3 次插入0 次删除
  1. 3 0
      arch/x86/kvm/i8254.c

+ 3 - 0
arch/x86/kvm/i8254.c

@@ -104,6 +104,9 @@ static s64 __kpit_elapsed(struct kvm *kvm)
 	ktime_t remaining;
 	ktime_t remaining;
 	struct kvm_kpit_state *ps = &kvm->arch.vpit->pit_state;
 	struct kvm_kpit_state *ps = &kvm->arch.vpit->pit_state;
 
 
+	if (!ps->pit_timer.period)
+		return 0;
+
 	/*
 	/*
 	 * The Counter does not stop when it reaches zero. In
 	 * The Counter does not stop when it reaches zero. In
 	 * Modes 0, 1, 4, and 5 the Counter ``wraps around'' to
 	 * Modes 0, 1, 4, and 5 the Counter ``wraps around'' to