All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] KVM: x86: remove bogus user-triggerable WARN_ON
@ 2020-03-19 17:43 Paolo Bonzini
  2020-03-19 17:52 ` Sean Christopherson
  2020-03-20 15:22 ` Thomas Gleixner
  0 siblings, 2 replies; 6+ messages in thread
From: Paolo Bonzini @ 2020-03-19 17:43 UTC (permalink / raw)
  To: linux-kernel, kvm; +Cc: syzbot+00be5da1d75f1cc95f6b, Sean Christopherson

The WARN_ON is essentially comparing a user-provided value with 0.  It is
trivial to trigger it just by passing garbage to KVM_SET_CLOCK.  Guests
can break if you do so, but if it hurts when you do like this just do not
do it.

Reported-by: syzbot+00be5da1d75f1cc95f6b@syzkaller.appspotmail.com
Fixes: 9446e6fce0ab ("KVM: x86: fix WARN_ON check of an unsigned less than zero")
Cc: Sean Christopherson <sean.j.christopherson@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 arch/x86/kvm/x86.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 3156e25b0774..d65ff2008cf1 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -2444,7 +2444,6 @@ static int kvm_guest_time_update(struct kvm_vcpu *v)
 	vcpu->hv_clock.tsc_timestamp = tsc_timestamp;
 	vcpu->hv_clock.system_time = kernel_ns + v->kvm->arch.kvmclock_offset;
 	vcpu->last_guest_tsc = tsc_timestamp;
-	WARN_ON((s64)vcpu->hv_clock.system_time < 0);
 
 	/* If the host uses TSC clocksource, then it is stable */
 	pvclock_flags = 0;
-- 
2.18.2


^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2020-03-20 18:18 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-03-19 17:43 [PATCH] KVM: x86: remove bogus user-triggerable WARN_ON Paolo Bonzini
2020-03-19 17:52 ` Sean Christopherson
2020-03-20 15:22 ` Thomas Gleixner
2020-03-20 15:23   ` Thomas Gleixner
2020-03-20 17:47     ` Paolo Bonzini
2020-03-20 18:18       ` Thomas Gleixner

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.