kvm: x86: use getboottime64
authorArnd Bergmann <arnd@arndb.de>
Fri, 17 Jun 2016 15:48:56 +0000 (17:48 +0200)
committerPaolo Bonzini <pbonzini@redhat.com>
Thu, 23 Jun 2016 17:17:30 +0000 (19:17 +0200)
commit87aeb54f1b9891cf08b84b3f0c34f220a4977c4f
tree2479e2868c197f2a2e452d386606ef213fd6e61d
parentc45dcc71b794b5a346a43ad83bdcfac2138f0a2c
kvm: x86: use getboottime64

KVM reads the current boottime value as a struct timespec in order to
calculate the guest wallclock time, resulting in an overflow in 2038
on 32-bit systems.

The data then gets passed as an unsigned 32-bit number to the guest,
and that in turn overflows in 2106.

We cannot do much about the second overflow, which affects both 32-bit
and 64-bit hosts, but we can ensure that they both behave the same
way and don't overflow until 2106, by using getboottime64() to read
a timespec64 value.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/x86.c