[PATCH v3 0/2] KVM: x86: hyper-v: Fix TSC page update after KVM_SET_CLOCK(0) call

From: Vitaly Kuznetsov
Date: Wed Mar 31 2021 - 08:42:14 EST


Changes since v2:
- Fix the issue by using master_kernel_ns/get_kvmclock_base_ns() instead of
get_kvmclock_ns() when handling KVM_SET_CLOCK.
- Rebase on Paolo's "KVM: x86: fix lockdep splat due to Xen runstate
update" series and use spin_lock_irq()/spin_unlock_irq() [Paolo]

Original description:

I discovered that after KVM_SET_CLOCK(0) TSC page value in the guest can
go through the roof and apparently we have a signedness issue when the
update is performed. Fix the issue and add a selftest.

Vitaly Kuznetsov (2):
KVM: x86: Prevent 'hv_clock->system_time' from going negative in
kvm_guest_time_update()
selftests: kvm: Check that TSC page value is small after
KVM_SET_CLOCK(0)

arch/x86/kvm/x86.c | 19 +++++++++++++++++--
.../selftests/kvm/x86_64/hyperv_clock.c | 13 +++++++++++--
2 files changed, 28 insertions(+), 4 deletions(-)

--
2.30.2